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 |
Ranga: Administrator serwisu Punktów: 0