SQL 2.0 (#1) Złączenia tabel w bazie danych | Inner, Left/Right, Full, Self JOIN

  Рет қаралды 52,674

Pasja informatyki

Pasja informatyki

Күн бұрын

Пікірлер: 88
@187Ehrenmann
@187Ehrenmann 2 жыл бұрын
*Mam nadzieję, że rok 2023 będzie obfitował w treści na tym kanale* 🎁
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Też mamy taką nadzieję 🙂 dzięki!
@pb6887
@pb6887 2 жыл бұрын
A ja mam pewność że tak będzie.
@mateuszcichocki1779
@mateuszcichocki1779 Жыл бұрын
@@Pasjainformatyki bardzo lubię i cenię sobie waszą serię CTF. Nie dość że poznałem narzędzia o których wcześniej nie słyszałem, co jeszcze omawiacie szczegółowo zagadnienia, dzięki temu łatwiej zrozumieć cały koncept rozwiązywanych zadań :) Liczę na to że w tym roku pojawi się więcej zadań z serii CTF :)
@konstantindalmata242
@konstantindalmata242 Жыл бұрын
Pięknie dziękuję za kontynuację kursu! Like poleciał jeszcze przed rozpoczęciem słuchania :) Mała propozycja dla kolejnych nagrań - gdy we wcześniejszych filmikach słuchałem zadania/polecenia, było ono również w formie tekstowej wyświetlone na ekranie. Pauzowałem filmik i starałem się najpierw podołać mu samodzielnie, a później sprawdzałem poprawność wyniku. Gdy o wytycznych do zapytania tylko się mówi, jest to trudniej zrobić. Idealnie by było, gdyby treść zadania pojawiała się na ekranie wraz ze schematem połączenia tabel lub ze screenami potrzebnych/wszystkich tabel :D
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Dzięki za sugestię! Z pewnością skorzystam w następnym wideo :) Pozdrawiam, DS.
@TheKamoq
@TheKamoq Жыл бұрын
Po pierwszym wykładzie nic nie zrozumiałem, ale po obejrzeniu odcinków od 1 do 6 na laboratoriach wiedziałem wszystko co było potrzebne. Po drugim wykładzie od razu wróciłem. Świetna seria, dziękuje bardzo!
@adrianrebisz
@adrianrebisz 2 жыл бұрын
Piękny prezent na święta, pozdrawiam.
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Dzięki! Pozdrawiamy 🙂
@RyszardRydzyk-gw9cm
@RyszardRydzyk-gw9cm 6 ай бұрын
Dziękuję za tą serię, mam nadzieję, że dzięki niej sprawnie ogarnę temat
@MarcinZajd
@MarcinZajd Жыл бұрын
Cudowne lekcje 😃😃 Bardzo pomocne jest wyświetlenie połączeń/relacji między tabelami
@jonaszgadomski9477
@jonaszgadomski9477 3 ай бұрын
Kolega przedstawia wszystko jak z karabinu maszynowego. Przerwy pomiędzy zdaniami tez były by mile widziane. Ale poza tym bardzo wartosciowy material. Polecam.
@Mi205W
@Mi205W Жыл бұрын
Jedyne czego mi brakuje to treści polecenia. Niby drobiazg, ale ułatwia uczenie się i samodzielną prace :)
@Boo09lu
@Boo09lu 4 ай бұрын
o tak ciezko zapamietac bo pan mowi dosc szybko no i nie ma sie podgladu wlasnego na strukture bazy
@najwierniejszykibicousdemb7697
@najwierniejszykibicousdemb7697 2 жыл бұрын
czekałem na serie związaną z kontynuacja sql i się doczekałem,dziekuje ❤️
@Together4Ever96
@Together4Ever96 Жыл бұрын
Świetny materiał jasny i klarowny przekaz !
@filipgrydz
@filipgrydz Жыл бұрын
Przystępnie, powoli i szeroko 10/10
@wojciechsobczak6163
@wojciechsobczak6163 2 жыл бұрын
Świetny materiał! Czekam na więcej #2, #3, ... 😀
@bader6794
@bader6794 2 жыл бұрын
No i mamy to!
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Partnerem kanału jest justjoin.it - portal z największą ilością ofert pracy z widełkami! Szukasz ofert pracy jako developer baz danych? Zajrzyj: ▶ bit.ly/justjoin-sql
@BaliceSpotting
@BaliceSpotting 2 жыл бұрын
Strona super, szczególnie widok mapy. Zaciekawił mnie natomiast ich model biznesowy - na czym oni zarabiają? Wiem że nie ładnie tak pytać, z góry przepraszam.
@kinisharajs4039
@kinisharajs4039 Жыл бұрын
Bardzo dobry materiał jednak brakuje kliku rzeczy w stosunku do poprzednich materiałów z sql 1 brak polecenia na ekranie ( dużo osób już to zauważyło w kom ) 2 troszeczkę za szybko pan mówi 3 zdecydowanie brakuje większego wyjaśnienia co dana funkcja robi i pokazanie na przykładzie "co by było gdyby" ( U pana wygląda to jak " tutaj macie zadanie i tak to powinno wyglądać" zamiast " dobrze teraz zajmijmy się tym zadaniem na początku musimy pobrać ta daną z tej tabeli używamy do tego itp...) Jednak bardzo dziękuje za materiał i z pewnością dalej będę czekał na kolejne
@kamil1119
@kamil1119 Жыл бұрын
Dokładnie, ja również uważam że ten kurs w wykonaniu Pana Mirosława był lepszy i zgadzam się z punktami wyżej. Jedyna zmiana na plus to, że teraz jest wiecej zadań domowych.
@MADZIA0606
@MADZIA0606 2 жыл бұрын
*Dzięki*
@bartlomiejodachowski
@bartlomiejodachowski Жыл бұрын
36:00 smieszne ze obydwa selecty robią co chcemy mając tego samego WHERE/a. ale tak musi byc. jak sobie wyobrazisz lub rozrysujesz tabele bez klauzuli where, wszytsko ma sens. w drugim select, WHERE wypozyczenia.id_pracownika IS NULL mozna zastapic WHERE pracownicy.id_pracownika IS NULL
@lodowilk_914
@lodowilk_914 Жыл бұрын
jezu w końcu coś z tego rozumiem, dzięki stary
@kapitalis4412
@kapitalis4412 Жыл бұрын
bardzo ciekawy partner kanału
@krzysiekkozio7366
@krzysiekkozio7366 Жыл бұрын
super objaśnione :)
@robertsuda4453
@robertsuda4453 Жыл бұрын
35:53 w klauzulach WHERE użyłem odpowiednio do LEFT JOIN: WHERE wypozyczenia.id_wypozyczenia, a do RIGHT JOIN: WHERE wypozyczenia.id_pracownika i też śmiga, ale jak się zamieni RIGHT i LEFT to działa inaczej. Jeśli w obu klauzulach LEFT RIGHT da się po WHERE wypozyczenia.id_pracownika, to działa tak samo, ale jak się da te same w RIGHT i LEFT po WHERE wypozyczenia.id_wypozyczenia, to już znowu działa inaczej.... czegoś tu nie łapie?
@kamilslimak6882
@kamilslimak6882 2 жыл бұрын
Co do przykładu zaczynającego się w 29:50 - czy w ogóle potrzebujemy tu używać joinów? id_wypozyczenia jak i id_pracownika które nam są potrzebne znajdują się w tabeli wypozyczenia i możemy za pomocą takiego zapytania: SELECT w.id_wypozyczenia FROM wypozyczenia AS w WHERE w.id_pracownika IS NULL; uzyskać taki sam efekt jak używając joinów. Myślałem chwilę nad tym i wydaje mi się że robienie tego tak jak na filmie to tylko komplikowanie sobie życia, chyba że czegoś nie zauważam. Ale poza tym przedstawienie tego jak można używać na zmianę left i right join wytłumaczone na plus, po filmie czuje że zrozumiałem jak tego właściwie używać w końcu.
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Tak, tutaj można to zrobić tak jak pokazałeś, bo id_pracownika to kolumna w tablicy wypożyczenia. Dobra robota i dzięki za komentarz! :) Pozdrawiam, DS!
@dzongoodsoon5518
@dzongoodsoon5518 Жыл бұрын
swietny material
@mateuszhupacz4230
@mateuszhupacz4230 Жыл бұрын
Super, że pojawił się nowa odsłona! Pytanie do Wszystkich. Z SQL zacząłem przygode 2 tyg. temu od właśnie tego kursu. Ten temat bardzo mnie zaciekawił, a ponadto może w przyszłości przydać mi się zawodowo. Wydaję mi się, że łapie temat ale świadom jestem, że raczkuje. Szukam literatury godnej polecenia. W internetowych księgarniach jest tego sporo. Czy znajdą się propozycję dla osoby, która rozpoczyna przygodę z SQL? Z góry bardzo dziękuje za pomoc.
@yasiek89
@yasiek89 2 жыл бұрын
W 3:26 wkradł się mały chochlik i w tabeli produkty klucz główny powinien nazywać się id_produktu, a w tabeli zamowienia klucz główny powinien nazywać się id_zamowienia ;)
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Ech te chochliki, czają się tu i ówdzie 😉 dzięki za komentarz! Pozdrawiam, DS 🙂
@xoy5
@xoy5 2 жыл бұрын
Widać dużą wiedzę tej osoby po dosłownie chwili słuchania
@loordvamp1re
@loordvamp1re 2 жыл бұрын
super seria ^^
@robsonszewczenko8756
@robsonszewczenko8756 Жыл бұрын
Dobry materiał, trochę szkoda że nie ma rozwiązań do zadań domowych.
@rorschach-content24
@rorschach-content24 Жыл бұрын
Panie Damianie bardzo dobry odcinek... Chciałem się zapytać jak dodałeś taki motyw do phpmyadmin to jest jakiegoś typu rozszerzenie czy jak to wygląda?
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Dzięki! :) Motyw, którego używam to blueberry - łatwo znajdziesz w sieci!
@rorschach-content24
@rorschach-content24 Жыл бұрын
@@Pasjainformatyki super, dzięki bardzo! motyw bardzo ładnie się prezentuje, jest satysfakcjonujący i dodaje klimatu do phpmyadmin ;)
@yessey111
@yessey111 Жыл бұрын
gdzie jest mirosław?
@yessey111
@yessey111 Жыл бұрын
co mu zrobiliscie?
@Geuseppe0_0
@Geuseppe0_0 2 жыл бұрын
Mam pytanie czy bedzie odswierzona wersja poradnika do html,css I js?
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Na pewno będzie kontynuowana 🙂
@pleszkowcz
@pleszkowcz Жыл бұрын
Stworzyłem coś takiego z przykładu z 37:01 SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM wypozyczenia JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia=wypozyczenia.id_wypozyczenia JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu LEFT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta UNION SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM wypozyczenia JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia=wypozyczenia.id_wypozyczenia JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu RIGHT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta ORDER BY nazwisko_klienta ASC;
@kazami291
@kazami291 2 жыл бұрын
akurat na inf 03
@lisiasty688
@lisiasty688 Жыл бұрын
witam, jakiego thema użyto w phpmyadmin?
@kgames719
@kgames719 3 ай бұрын
Jak mieć taki wygląd PHPmyadmin?
@bartomiejjaszczak7331
@bartomiejjaszczak7331 Жыл бұрын
komentarz dla statystyk
@Boo09lu
@Boo09lu 4 ай бұрын
jestem totalnie pocztakujaca osoba proszę o odpowiedz: bo frapuje mnie to, robimy zapytania sql a one potem znikaja czy da sie je jakos zapisac zeby moc do nich wracac phpmyadmin? bo pisanie wszyskiego od nowa jest strasznie czasochłonne
@Drax658
@Drax658 Жыл бұрын
Mnie dzisiaj SELF JOIN bardzo się przydał, żeby wyciągnąć odpowiednie powiazania między różnymi rekordami, które znajdowały się w tej samej tabeli. Co ciekawe była to tablica bazy danych CMS Joomla! Więc i ten JOIN się przydaje 😅
@benzowraczek
@benzowraczek Жыл бұрын
nie działa mi ta strona po wpisaniu
@andrzejs1686
@andrzejs1686 3 ай бұрын
Prędkość odtwarzania polecana przeze mnie to 0,75. MZ = 0,75 * DS
@TomaszTrelaPlus
@TomaszTrelaPlus 2 жыл бұрын
Odświeżałem sobie wiedzę i gdybym miał taki kurs dostępny 18 lat temu to dużo łatwiej ogarnąłbym te złączenia. Brakło słówka o CROSS JOIN, ale także ciekawostek z innych baz danych. Może warto zrobić osobny materiał o różnicach i zaletach takich baz?
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
CROSS to zazwyczaj iloczyn kartezjański o czym wspominałem 🙂 tak czy inaczej dzięki za komentarz! Pozdrawiam, DS 🙂
@bogus1666
@bogus1666 2 жыл бұрын
Kojarzycie autonomiczny system egzaminacyjny ?
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Kojarzymy...
@bogus1666
@bogus1666 2 жыл бұрын
@@Pasjainformatyki a znacie jakąś podobna platformę co by działała jak ase ?
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Nie kojarzę, ale wydaje mi się, że takie systemy tworzy sobie każdy ośrodek egzaminacyjny wg potrzeb.
@bogus1666
@bogus1666 2 жыл бұрын
@@Pasjainformatyki a zrobicie poradnik jak stworzyć taki system ?
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Taki system jest dość złożony, trzebaby zrobić mega serię, a w każdym odcinku omówić osobną funkcjonalność, raczej nie będziemy w to wchodzić 🙂 Pozdrawiam!
@Voon2008
@Voon2008 2 жыл бұрын
Where to stary standard, kiedyś była bieda :D
@karolmach2002
@karolmach2002 2 жыл бұрын
Zamiast kawy mógłbyś wyświetlać strukturę bazy, żebyśmy wiedzieli jakie nazwy tabel stosować😊
@Pasjainformatyki
@Pasjainformatyki 2 жыл бұрын
Struktury było już dużo dlatego wybrałem kawę ;) Dzięki za komentarz! Pozdrawiam, DS :)
@delios1122
@delios1122 Жыл бұрын
Super materiał! Rozwiązanie Challenge: SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM samochody INNER JOIN dane_wypozyczen ON samochody.id_samochodu = dane_wypozyczen.id_samochodu INNER JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia = dane_wypozyczen.id_wypozyczenia LEFT JOIN klienci ON klienci.id_klienta = wypozyczenia.id_klienta WHERE wypozyczenia.id_klienta IS NULL UNION SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM samochody INNER JOIN dane_wypozyczen ON samochody.id_samochodu = dane_wypozyczen.id_samochodu INNER JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia = dane_wypozyczen.id_wypozyczenia RIGHT JOIN klienci ON klienci.id_klienta = wypozyczenia.id_klienta WHERE dane_wypozyczen.id_samochodu IS NULL
@EffathaRadom-ug9cj
@EffathaRadom-ug9cj 3 ай бұрын
brawo, prawie to co potrzeba. Jeśli usunąć WHERE to wynik będzie dokładnie taki jak było w zadaniu.
@martak7394
@martak7394 3 ай бұрын
zastanawiam sie czy nie mozna byloby mowic jeszcze szybciej zeby wszystko bylo jeszcze bardziej niezrozumiale!!!
@R3st0k1n
@R3st0k1n Жыл бұрын
Z całym szacunkiem dla DS, ale imo MZ >> DS
@krzysztofbuczek5594
@krzysztofbuczek5594 Жыл бұрын
Słabiutko...
@DuoJajo
@DuoJajo Жыл бұрын
Paaanie, ratujesz mój projekt zaliczeniowy z baz! Gdyby tylko prowadzący zajęcia na uniwerku umieli tak przekazywać wiedzę...
@radekradek4108
@radekradek4108 Жыл бұрын
Zadanie z challenge w 37min: SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM wypozyczenia JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia=wypozyczenia.id_wypozyczenia JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu LEFT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta UNION SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM wypozyczenia JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia=wypozyczenia.id_wypozyczenia JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu RIGHT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta ORDER BY nazwisko_klienta ASC;
@magdalenawalczak4023
@magdalenawalczak4023 Жыл бұрын
Ja zrobiłem to tak: dotyczy zadania z 37:20 😀 SELECT dane_wypozyczen.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM dane_wypozyczen LEFT JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu LEFT JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia LEFT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta UNION SELECT dane_wypozyczen.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM dane_wypozyczen RIGHT JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu RIGHT JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia RIGHT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta ORDER BY `nazwisko_klienta` ASC
@wopagangnam
@wopagangnam 2 жыл бұрын
Przykładowe rozwiązanie do zadania-challengu z odcinka: SELECT d.id_wypozyczenia, s.marka, s.model, w.data_wyp, k.imie_klienta, k.nazwisko_klienta FROM samochody s INNER JOIN dane_wypozyczen d ON d.id_samochodu = s.id_samochodu INNER JOIN wypozyczenia w ON w.id_wypozyczenia = d.id_wypozyczenia FULL JOIN klienci k ON k.id_klienta = w.id_klienta ORDER BY nazwisko_klienta;
@donnadepresjeamarena4452
@donnadepresjeamarena4452 7 ай бұрын
Mała szansa, że ktoś po takim czasie zweryfikuje ale warto wrzucić rozwiązania do zadania domowego: Zad. 1 select imie_klienta, nazwisko_klienta, data_wyp from klienci inner join wypozyczenia on klienci.id_klienta = wypozyczenia.id_klienta Zad. 2 Zad. 3 select Concat(imie_pracownika, " ", nazwisko_pracownika) as imię_nazwisko from pracownicy inner join wypozyczenia on pracownicy.id_pracownika = wypozyczenia.id_pracownika Where data_wyp >= "2022-07-01" and data_wyp = "2022-04-01" and data_wyp < "2022-04-30"; Zad. 5 select sum(cena_doba*ilosc_dob) as wartość_wypożyczen, nazwisko_pracownika from samochody inner join dane_wypozyczen on samochody.id_samochodu = dane_wypozyczen.id_samochodu inner join wypozyczenia on dane_wypozyczen.id_wypozyczenia = wypozyczenia.id_wypozyczenia inner join pracownicy on wypozyczenia.id_pracownika = pracownicy.id_pracownika Where nazwisko_pracownika = "Nowacki";
@tajdi242
@tajdi242 Жыл бұрын
Mój typ rozwiązania zadania z 37 minuty :) to: (SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM dane_wypozyczen INNER JOIN samochody ON samochody.id_samochodu = dane_wypozyczen.id_samochodu INNER JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia = dane_wypozyczen.id_wypozyczenia LEFT JOIN klienci ON klienci.id_klienta = wypozyczenia.id_klienta) UNION (SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM dane_wypozyczen INNER JOIN samochody ON samochody.id_samochodu = dane_wypozyczen.id_samochodu INNER JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia = dane_wypozyczen.id_wypozyczenia RIGHT JOIN klienci ON klienci.id_klienta = wypozyczenia.id_klienta) ORDER BY `nazwisko_klienta` ASC;
@MateuszWatrak-s3q
@MateuszWatrak-s3q 10 ай бұрын
Ja zrobiłem tak: SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM samochody LEFT JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu LEFT JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia LEFT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta UNION SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM samochody RIGHT JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu RIGHT JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia RIGHT JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta ORDER BY klienci.nazwisko_klienta ASC
@Blackartus
@Blackartus 11 ай бұрын
Dzięki wielkie. Super kurs. SELECT wypozyczenia.data_wyp, CONCAT(klienci.nazwisko_klienta, " ", imie_klienta) AS Nazwisko_i_imie_klienta FROM wypozyczenia INNER JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta ORDER By wypozyczenia.data_wyp; SELECT DISTINCT samochody.marka, samochody.model, dane_wypozyczen.cena_doba FROM samochody INNER JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu; SELECT pracownicy.imie_pracownika, pracownicy.nazwisko_pracownika, wypozyczenia.data_wyp FROM pracownicy INNER JOIN wypozyczenia ON wypozyczenia.id_pracownika=pracownicy.id_pracownika WHERE data_wyp BETWEEN '2022-07-01' AND '2022-07-31'; SELECT samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.nazwisko_klienta FROM samochody INNER JOIN dane_wypozyczen ON dane_wypozyczen.id_samochodu=samochody.id_samochodu INNER JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia INNER JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta WHERE wypozyczenia.data_wyp BETWEEN '2022-04-01' AND '2022-08-31' AND klienci.nazwisko_klienta = 'Karwowski'; SELECT DISTINCT SUM(dane_wypozyczen.cena_doba*dane_wypozyczen.ilosc_dob) AS Wartosc, CONCAT(pracownicy.nazwisko_pracownika, " ", pracownicy.imie_pracownika) AS Pracownik FROM dane_wypozyczen INNER JOIN wypozyczenia ON dane_wypozyczen.id_wypozyczenia=wypozyczenia.id_wypozyczenia INNER JOIN pracownicy ON wypozyczenia.id_pracownika=pracownicy.id_pracownika WHERE pracownicy.nazwisko_pracownika = 'Nowacki' GROUP By Pracownik;
@Kamil-do1yh
@Kamil-do1yh 2 жыл бұрын
Co to zadanka z 37 min. to mi wyszło coś takiego: SPOJLER ;) (SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM klienci LEFT JOIN wypozyczenia ON klienci.id_klienta = wypozyczenia.id_klienta LEFT JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia = wypozyczenia.id_wypozyczenia LEFT JOIN samochody ON dane_wypozyczen.id_samochodu = samochody.id_samochodu) UNION (SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM klienci RIGHT JOIN wypozyczenia ON klienci.id_klienta = wypozyczenia.id_klienta RIGHT JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia = wypozyczenia.id_wypozyczenia RIGHT JOIN samochody ON dane_wypozyczen.id_samochodu = samochody.id_samochodu) ORDER BY nazwisko_klienta ASC;
@robertsuda4453
@robertsuda4453 Жыл бұрын
zrobiłem to zadanie tak samo, ale niestety wziąłem po FROM wypozyczenia, a nie klienci i pokazuje taką samą liczbę rekordów, ale nie są tożsame, czyli dalej coś brakuje...
@mikoajkaminski1259
@mikoajkaminski1259 2 жыл бұрын
Mógłby ktoś podać swoje rozwiązanie tego full joina z 37 minuty? Wydaje mi się że w moim rozwiązaniu może czegoś brakować: SELECT s.marka, s.model, w.id_wypozyczenia, w.data_wyp, k.imie_klienta, k.nazwisko_klienta FROM samochody AS s LEFT JOIN dane_wypozyczen AS dw ON s.id_samochodu = dw.id_samochodu LEFT JOIN wypozyczenia AS w ON w.id_wypozyczenia = dw.id_wypozyczenia LEFT JOIN klienci AS k ON k.id_klienta = w.id_klienta UNION SELECT s.marka, s.model, w.id_wypozyczenia, w.data_wyp, k.imie_klienta, k.nazwisko_klienta FROM samochody AS s RIGHT JOIN dane_wypozyczen AS dw ON s.id_samochodu = dw.id_samochodu RIGHT JOIN wypozyczenia AS w ON w.id_wypozyczenia = dw.id_wypozyczenia RIGHT JOIN klienci AS k ON k.id_klienta = w.id_klienta; Poniżej moje rozwiązania zadania domowego: 1. SELECT w.data_wyp, k.imie_klienta, k.nazwisko_klienta FROM wypozyczenia AS w LEFT JOIN klienci AS k ON k.id_klienta = w.id_klienta; 2. SELECT DISTINCT s.marka, s.model, dw.cena_doba FROM samochody AS s LEFT JOIN dane_wypozyczen AS dw ON s.id_samochodu = dw.id_samochodu; 3. SELECT p.imie_pracownika, p.nazwisko_pracownika FROM pracownicy AS p RIGHT JOIN wypozyczenia AS w ON p.id_pracownika = w.id_pracownika WHERE w.data_wyp BETWEEN '2022-07-01' AND '2022-07-31'; 4. SELECT s.marka, s.model FROM samochody AS s JOIN dane_wypozyczen AS dw ON s.id_samochodu = dw.id_samochodu JOIN wypozyczenia AS w ON w.id_wypozyczenia = dw.id_wypozyczenia JOIN klienci AS k ON k.id_klienta = w.id_klienta WHERE k.nazwisko_klienta = 'Karwowski' AND w.data_wyp BETWEEN '2022-04-01' AND '2022-09-30' ORDER BY w.data_wyp; 5. SELECT SUM(dw.cena_doba*dw.ilosc_dob) AS wartosc FROM dane_wypozyczen AS dw JOIN wypozyczenia AS w ON w.id_wypozyczenia = dw.id_wypozyczenia RIGHT JOIN pracownicy AS p ON p.id_pracownika = w.id_pracownika WHERE p.nazwisko_pracownika = 'Nowacki' GROUP BY p.id_pracownika; Pozdrawiam!😊
@robertsuda4453
@robertsuda4453 Жыл бұрын
siemka, mam podobnie. w klauzulach WHERE użyłem odpowiednio do LEFT JOIN: WHERE wypozyczenia.id_wypozyczenia, a do RIGHT JOIN: WHERE wypozyczenia.id_pracownika i też śmiga, ale jak się zamieni RIGHT i LEFT to działa inaczej. Jeśli w obu klauzulach LEFT RIGHT da się po WHERE wypozyczenia.id_pracownika, to działa tak samo, ale jak się da te same w RIGHT i LEFT po WHERE wypozyczenia.id_wypozyczenia, to już znowu działa inaczej.... czegoś tu nie łapie?
@EffathaRadom-ug9cj
@EffathaRadom-ug9cj 7 ай бұрын
"Wydaje mi się że w moim rozwiązaniu może czegoś brakować:" - tak, brakuje jednej linijki: ORDER BY nazwisko_klienta
@robertsuda4453
@robertsuda4453 Жыл бұрын
W tym zadaniu challenge są różne wyniki w zależności co się użyje po FROM. Więc nie wiem czy poniższe jest poprawne: SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM klienci LEFT JOIN wypozyczenia ON klienci.id_klienta = wypozyczenia.id_klienta LEFT JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia = wypozyczenia.id_wypozyczenia LEFT JOIN samochody ON dane_wypozyczen.id_samochodu = samochody.id_samochodu) UNION (SELECT wypozyczenia.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp, klienci.imie_klienta, klienci.nazwisko_klienta FROM klienci RIGHT JOIN wypozyczenia ON klienci.id_klienta = wypozyczenia.id_klienta RIGHT JOIN dane_wypozyczen ON dane_wypozyczen.id_wypozyczenia = wypozyczenia.id_wypozyczenia RIGHT JOIN samochody ON dane_wypozyczen.id_samochodu = samochody.id_samochodu) ORDER BY nazwisko_klienta ASC;
@Sawio97
@Sawio97 Жыл бұрын
Przy ćwiczeniu w PHPmyadmin Wyszukuje mi zupełnie inny wynik, tak jakby NULL był niewidoczny... zapytanie zwraca 66 rekordów zamiast jeden. SELECT samochody.model, samochody.marka FROM samochody RIGHT JOIN dane_wypozyczen ON samochody.id_samochodu=dane_wypozyczen.id_samochodu WHERE dane_wypozyczen.id_wypozyczenia IS NULL
SQL 2.0 (#2) Funkcje znakowe języka SQL w praktyce
31:47
Pasja informatyki
Рет қаралды 19 М.
Kurs MySQL odc. 4: Modele danych. Relacja. Iloczyn kartezjański
28:59
Pasja informatyki
Рет қаралды 186 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
MySQL: JOINS are easy (INNER, LEFT, RIGHT)
5:04
Bro Code
Рет қаралды 497 М.
SQL 2.0 (#4) Podzapytania
46:20
Pasja informatyki
Рет қаралды 17 М.
Adresacja IP w 10 MINUT! 🌐 IPv4, Maska, Podsieci, Klasy
10:18
Bitlearn it
Рет қаралды 10 М.
Kurs MySQL odc. 6: Grupowanie danych: GROUP BY oraz funkcje agregujące
57:51
Bezpieczeństwo haseł - haszowanie
29:22
Pasja informatyki
Рет қаралды 24 М.
Warsztat kodera (#1) Użyteczne skróty i sztuczki w Visual Studio Code
1:15:27
Kurs MySQL odc. 2: Złożone zapytania SELECT. Księgarnia online
43:41
Pasja informatyki
Рет қаралды 498 М.
Kurs JavaScript odc. 3: Gra w wisielca. Przetwarzanie łańcuchów
1:38:53
Pasja informatyki
Рет қаралды 363 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН