Masz dwie tabele mm:
Kod: Zaznacz cały
Marka Model
Ford Fiesta
Opel Corsa
Opel Astra
Nissan Micra
oraz mk:
Kod: Zaznacz cały
Model Kolor
Astra biały
Astra czerwony
Astra zielony
Fiesta biały
Fiesta czarny
Orion niebieski
Zrobimy różne złączenia tych dwóch tabel wg pola Model.
1. Złączenie wewnętrzne, czyli inner join albo join
Kod: Zaznacz cały
select * from mm join mk on mm.Model = mk.Model;
albo
da w wyniku
Kod: Zaznacz cały
Marka Model Model Kolor
Ford Fiesta Fiesta biały
Ford Fiesta Fiesta czarny
Opel Astra Astra biały
Opel Astra Astra czerwony
Opel Astra Astra zielony
czyli wszystkie możliwe pary dopasowanych krotek.
2. Złączenie lewe left join
Kod: Zaznacz cały
select * from mm left join mk on mm.Model = mk.Model;
albo
Kod: Zaznacz cały
select * from mm left join mk using(Model);
da w wyniku
Kod: Zaznacz cały
Marka Model Model Kolor
Ford Fiesta Fiesta biały
Ford Fiesta Fiesta czarny
Opel Corsa NULL NULL
Opel Astra Astra biały
Opel Astra Astra czerwony
Opel Astra Astra zielony
Nissan Micra NULL NULL
czyli wszystkie możliwe krotki z lewej tabeli, jeżeli to możliwe dopasowane do wszystkich pasujących krotek z prawej tabeli; jeżeli zaś niemożliwe, to uzupełnione rubrykami pustymi.
3. Złączenie prawe right join
Kod: Zaznacz cały
select * from mm right join mk on mm.Model = mk.Model;
albo
Kod: Zaznacz cały
select * from mm right join mk using(Model);
da w wyniku analogiczne zestawienie z zamienioną rolą tabel lewej i prawej
Kod: Zaznacz cały
Marka Model Model Kolor
Ford Fiesta Fiesta biały
Ford Fiesta Fiesta czarny
Opel Astra Astra biały
Opel Astra Astra czerwony
Opel Astra Astra zielony
NULL NULL Orion niebieski
czyli wszystkie możliwe krotki z prawej tabeli, jeżeli to możliwe dopasowane do wszystkich pasujących krotek z lewej tabeli; jeżeli zaś niemożliwe, to poprzedzone pustymi rubrykami.
4. Złączenie zewnętrzne, czyli outer join
Kod: Zaznacz cały
select * from mm outer join mk on mm.Model = mk.Model;
albo
Kod: Zaznacz cały
select * from mm outer join mk using(Model);
da zestawienie będące sumą mnogościową złączeń: lewego i prawego
Kod: Zaznacz cały
Marka Model Model Kolor
Ford Fiesta Fiesta biały
Ford Fiesta Fiesta czarny
Opel Corsa NULL NULL
Opel Astra Astra biały
Opel Astra Astra czerwony
Opel Astra Astra zielony
Nissan Micra NULL NULL
NULL NULL Orion niebieski
czyli wszystkie możliwe krotki z obu tabel, jeżeli to możliwe dopasowane do wszystkich pasujących krotek z przeciwległej tabeli; jeżeli zaś niemożliwe, to uzupełnione pustymi rubrykami.