Loading:

Zaplanuj Przeprowadzke - Ściągnij Darmową Aplikację na Androida

SQL JOIN - co to jest, kiedy używać oraz jak stosować?

4. Pierwszy przykład z LEFT JOIN


Co to jest LEFT JOIN?, pewnie się zastanawiasz.


Jak już sama nazwa wskazuje, daje ono specjalną możliwość dla lewej (LEFT ~ lewo) tabeli w zapytaniu (pierwsza tabela wymieniona w zapytaniu, w naszym przypadku będzie to tabela KLIENCI).
Każda pozycja z lewej tabeli zostanie wyświetlona w wyniku, nawet jeśli nie ma tych samych wyników w prawej tabeli.

Stwórzmy więc kod jaki widzimy poniżej:


SELECT * FROM klienci
LEFT JOIN produkty
ON klienci.klient_id = produkty.klient_id;




Przykład zwróci nam wszystkie pozycje z tabeli KLIENCI, razem z ich zamówieniami, nawet wtedy gdy jakiś wpis nie posiada żadnego zamówienia ( w tym przypadku klientem bez prezerwatyw zamówionych jest Tomek).

klient_id klient_imie condom_kolor klient_id
1 Jan czerwony 1
1 Jan fioletowy 1
1 Jan zielony 1
2 Tomek NULL NULL
3 Dawid niebieski 3
3 Dawid biały 3
4 Adam żółty 4



Zauważmy, że gdy nie ma odpowiedniej wartości w tabeli z prawej strony wtedy SQL zwróci nam wartość NULL, informującą o tym zdarzeniu.



Dalsza część: 1 2 3 4 5 6 7

Napisz Artykuł




Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=4&t=2867

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37169
Komentarze użytkowników
Pisząc kod lepiej unikać RIGHT JOIN - w razie konieczności obsługi SQLite będą problemy, bo SQLite ma tylko LEFT JOIN.
autor: freebox | 13031 | 2014-10-26 08:08:27


    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors