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

  Рет қаралды 46,897

Pasja informatyki

Pasja informatyki

Күн бұрын

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
Inne oferty od justjoin.it:
▶️ bit.ly/justjoin-python
▶️ bit.ly/justjoin-php
▶️ bit.ly/justjoin-security
Jeżeli masz ochotę zobaczyć więcej naszych filmów, podcastów i artykułów w coraz lepszej jakości, to zachęcamy do pozostawienia subskrypcji, a także do odwiedzenia prowadzonych przez nas witryn oraz do polubienia fanpage'u Pasji informatyki na Facebooku.
🔔 Subskrybuj - bit.ly/pasja-sub
Jeśli masz ochotę wesprzeć to co robimy, to możesz:
🖐 Zostać Patronem - patronite.pl/pasja-informatyki
☕️ Ufundować nam wirtualną kawę - buycoffee.to/pasja-informatyki
👉 Fanpage na Facebooku - bit.ly/pasja-fb
👉 Profil Patronite - patronite.pl/pasja-informatyki
👉 Lista Patronów - pasja-informatyki.pl/patroni
👉 Donacje na blogu - miroslawzelent.pl/donate
👉 Harmonogram publikacji - bit.ly/pasja-harmonogram
👉 Kontakt z nami - pasja-informatyki.pl/kontakt/
👉 Współpraca reklamowa - bit.ly/pasja-wspolpraca
👉 Kursy video dla technikum - pasja-informatyki.pl
👉 Blog informatyczny - miroslawzelent.pl
👉 Trenażer egzaminacyjny - egzamin-informatyk.pl
👉 Egzamin-E13.pl - egzamin-e13.pl
👉 Forum dyskusyjne - forum.pasja-informatyki.pl/
👉 Witryna podcastowa - podcast.pasja-informatyki.pl/
👉 Twitter MZ - / miroslawzelent
👉 Twitter DS - / stelmach_damian
📚 Wpis blogowy do tego odcinka:
miroslawzelent.pl/kurs-mysql/...
🕐 TIMESTAMPS (CHWILE CZASOWE):
00:00 Wstęp, partner odcinka: justjoin.it
01:40 Struktura bazy danych, potrzebne oprogramowanie
06:50 INNER JOIN
19:45 LEFT/RIGHT JOIN
34:50 FULL JOIN
37:30 Grupowanie danych i JOIN
41:42 Inne rodzaj złączeń
#pasjainformatyki #sql #join

Пікірлер: 84
@187Ehrenmann
@187Ehrenmann Жыл бұрын
*Mam nadzieję, że rok 2023 będzie obfitował w treści na tym kanale* 🎁
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Też mamy taką nadzieję 🙂 dzięki!
@pb6887
@pb6887 Жыл бұрын
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 :)
@PelczarTomasz
@PelczarTomasz 9 ай бұрын
Są dobre...
@Mi205W
@Mi205W Жыл бұрын
Jedyne czego mi brakuje to treści polecenia. Niby drobiazg, ale ułatwia uczenie się i samodzielną prace :)
@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.
@najwierniejszykibicousdemb7697
@najwierniejszykibicousdemb7697 Жыл бұрын
czekałem na serie związaną z kontynuacja sql i się doczekałem,dziekuje ❤️
@StudyProgrammer96
@StudyProgrammer96 Жыл бұрын
Świetny materiał jasny i klarowny przekaz !
@adrianrebisz
@adrianrebisz Жыл бұрын
Piękny prezent na święta, pozdrawiam.
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Dzięki! Pozdrawiamy 🙂
@MeggaFelipe
@MeggaFelipe Жыл бұрын
Przystępnie, powoli i szeroko 10/10
@TheKamoq
@TheKamoq 8 ай бұрын
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!
@MarcinZajd
@MarcinZajd Жыл бұрын
Cudowne lekcje 😃😃 Bardzo pomocne jest wyświetlenie połączeń/relacji między tabelami
@wojciechsobczak6163
@wojciechsobczak6163 Жыл бұрын
Świetny materiał! Czekam na więcej #2, #3, ... 😀
@RyszardRydzyk-gw9cm
@RyszardRydzyk-gw9cm Ай бұрын
Dziękuję za tą serię, mam nadzieję, że dzięki niej sprawnie ogarnę temat
@DuoJajo
@DuoJajo Жыл бұрын
Paaanie, ratujesz mój projekt zaliczeniowy z baz! Gdyby tylko prowadzący zajęcia na uniwerku umieli tak przekazywać wiedzę...
@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.
@lodowilk_914
@lodowilk_914 Жыл бұрын
jezu w końcu coś z tego rozumiem, dzięki stary
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
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 Жыл бұрын
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.
@bader6794
@bader6794 Жыл бұрын
No i mamy to!
@krzysiekkozio7366
@krzysiekkozio7366 Жыл бұрын
super objaśnione :)
@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.
@dzongoodsoon5518
@dzongoodsoon5518 Жыл бұрын
swietny material
@MADZIA0606
@MADZIA0606 Жыл бұрын
*Dzięki*
@loordvamp1re
@loordvamp1re Жыл бұрын
super seria ^^
@kapitalis4412
@kapitalis4412 Жыл бұрын
bardzo ciekawy partner kanału
@robsonszewczenko8756
@robsonszewczenko8756 Жыл бұрын
Dobry materiał, trochę szkoda że nie ma rozwiązań do zadań domowych.
@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?
@bartlomiejodachowski
@bartlomiejodachowski 10 ай бұрын
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
@xoy5
@xoy5 Жыл бұрын
Widać dużą wiedzę tej osoby po dosłownie chwili słuchania
@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 😅
@lisiasty688
@lisiasty688 Жыл бұрын
witam, jakiego thema użyto w phpmyadmin?
@kamilslimak6882
@kamilslimak6882 Жыл бұрын
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 Жыл бұрын
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!
@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 ;)
@_I_like_kebeb
@_I_like_kebeb 3 ай бұрын
dobrze wasze materiały odświeżają wiedzę :D
@kazami291
@kazami291 Жыл бұрын
akurat na inf 03
@Albertina65
@Albertina65 Жыл бұрын
Mam pytanie czy bedzie odswierzona wersja poradnika do html,css I js?
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Na pewno będzie kontynuowana 🙂
@bartomiejjaszczak7331
@bartomiejjaszczak7331 Жыл бұрын
komentarz dla statystyk
@yasiek89
@yasiek89 Жыл бұрын
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 Жыл бұрын
Ech te chochliki, czają się tu i ówdzie 😉 dzięki za komentarz! Pozdrawiam, DS 🙂
@yessey111
@yessey111 Жыл бұрын
gdzie jest mirosław?
@yessey111
@yessey111 Жыл бұрын
co mu zrobiliscie?
@benzowraczek
@benzowraczek Жыл бұрын
nie działa mi ta strona po wpisaniu
@TomaszTrelaPlus
@TomaszTrelaPlus Жыл бұрын
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 Жыл бұрын
CROSS to zazwyczaj iloczyn kartezjański o czym wspominałem 🙂 tak czy inaczej dzięki za komentarz! Pozdrawiam, DS 🙂
@godfryddolbinczykunical1571
@godfryddolbinczykunical1571 Жыл бұрын
Tylko nie zapomnijcie o ALTER i tworzeniu Użytkowników. CREATE USER, GRANT itp.
@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;
@Voon2008
@Voon2008 Жыл бұрын
Where to stary standard, kiedyś była bieda :D
@bogus1666
@bogus1666 Жыл бұрын
Kojarzycie autonomiczny system egzaminacyjny ?
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Kojarzymy...
@bogus1666
@bogus1666 Жыл бұрын
@@Pasjainformatyki a znacie jakąś podobna platformę co by działała jak ase ?
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Nie kojarzę, ale wydaje mi się, że takie systemy tworzy sobie każdy ośrodek egzaminacyjny wg potrzeb.
@bogus1666
@bogus1666 Жыл бұрын
@@Pasjainformatyki a zrobicie poradnik jak stworzyć taki system ?
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
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!
@R3st0k1n
@R3st0k1n 11 ай бұрын
Z całym szacunkiem dla DS, ale imo MZ >> DS
@karolmach2002
@karolmach2002 Жыл бұрын
Zamiast kawy mógłbyś wyświetlać strukturę bazy, żebyśmy wiedzieli jakie nazwy tabel stosować😊
@Pasjainformatyki
@Pasjainformatyki Жыл бұрын
Struktury było już dużo dlatego wybrałem kawę ;) Dzięki za komentarz! Pozdrawiam, DS :)
@krzysztofbuczek5594
@krzysztofbuczek5594 Жыл бұрын
Słabiutko...
@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;
@wopagangnam
@wopagangnam Жыл бұрын
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;
@delios1122
@delios1122 8 ай бұрын
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
@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;
@donnadepresjeamarena4452
@donnadepresjeamarena4452 2 ай бұрын
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;
@Kamil-do1yh
@Kamil-do1yh Жыл бұрын
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...
@user-ny3rt9rv2e
@user-ny3rt9rv2e 5 ай бұрын
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
@magdalenawalczak4023
@magdalenawalczak4023 10 ай бұрын
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
@mikoajkaminski1259
@mikoajkaminski1259 Жыл бұрын
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 2 ай бұрын
"Wydaje mi się że w moim rozwiązaniu może czegoś brakować:" - tak, brakuje jednej linijki: ORDER BY nazwisko_klienta
@Sawio97
@Sawio97 7 ай бұрын
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
@Blackartus
@Blackartus 6 ай бұрын
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;
SQL 2.0 (#2) Funkcje znakowe języka SQL w praktyce
31:47
Pasja informatyki
Рет қаралды 16 М.
Despicable Me Fart Blaster
00:51
_vector_
Рет қаралды 25 МЛН
Kurs MySQL odc. 4: Modele danych. Relacja. Iloczyn kartezjański
28:59
Pasja informatyki
Рет қаралды 182 М.
7  WAŻNYCH rzeczy w 7 LAT jako Programista
10:32
Kompletny Frontend
Рет қаралды 1,7 М.
SQL 2.0 (#4) Podzapytania
46:20
Pasja informatyki
Рет қаралды 15 М.
How do SQL Indexes Work
12:12
kudvenkat
Рет қаралды 593 М.
Jak bazy danych działają od środka?
12:13
Programowalny
Рет қаралды 4,8 М.
Kurs MySQL odc. 2: Złożone zapytania SELECT. Księgarnia online
43:41
Pasja informatyki
Рет қаралды 487 М.