Loading:

Książka Zend Framework 3. Poradnik Programisty.

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

3. Pierwszy prosty przykład JOIN


W porządku, nadszedł czas na wystartowanie wszystkiego oraz dostarczenie pierwszych zamówień do naszych klientów. Posiadamy już pierwsze wpisy w tabelach:

 

klient_id klient_imie
1 Jan
2 Tomek
3 Dawid
4 Adam

 

condom_kolor klient_id
czerwony 1
niebieski 3
żółty 4
fioletowy 1
czarny 0
zielony 1
biały 3
brązowy 0



Hm, wygląda na to, że ktoś chce wypróbować nasze produkty już teraz. Więc aby znaleźć jakie kolory prezerwatyw zamówił Jan (ID #1), nasz najlepszy klient, należy napisać poniższy kod:


SELECT * FROM klienci
JOIN produkty ON
klienci.klient_id = produkty.klient_id
WHERE klienci.klient_id = 1;

Zatrzymajmy się na chwile tutaj i opiszmy ten 4 linijkowy kod (te zapytanie moglibyśmy napisać również w jednej linii, dla SQL nie ma to znaczenia, jednak gdy rozbijemy zapytanie na więcej linii wtedy kod jest bardziej czytelny).

 

Pierwsza linia informuje o pobraniu oraz wyświetleniu wszystkich kolumn (znak gwiazdki *) z dwóch tabel: klienci oraz produkty.

 

Druga linia mówi o łączeniu tabeli klientów z tabela produkty, warunek ON wskazuje kiedy wyświetlić rekordy, w tym przypadku SQL wyświetli rekordy które mają te same wpisy ID klientów.

 

Trzecia linia jest opcjonalna, wskazuje ona jakie wpisy oprócz wszystkie pasujących ID klientów wyszczególnić, jeśli pominęlibyśmy tą linie wtedy została by nam wyświelona lista wszystkich klientów oraz ich zamówień.


Wynikiem tego zapytania będzie tabela:

klient_id klient_imie condom_kolor klient_id
1 Jan czerwony 1
1 Jan fioletowy 1
1 Jan zielony 1



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