Kombinuje zapise izvorne tabele kada se koristi u bilo kojoj odredbi FROM.
Sintaksa
FROM tabela 1 [ LEFT | RIGHT ] JOIN tabela 2
ON tabela 1.polje 1operator_poređenja tabela 2.polje 2Operacije LEFT JOIN i RIGHT JOIN imaju sledeće delove:
Deo |
Opis |
tabela 1, tabela 2 |
Imena tabela iz kojih se kombinuju zapisi. |
polje 1, polje 2 |
Imena spojenih polja. Polja moraju da pripadaju istom tip podatka i da sadrže istu vrstu podataka, ali ne moraju imati isto ime. |
operator_poređenja |
Bilo koji relacioni operator poređenja: „=,“ „<,“ „>,“ „<=,“ „>=,“ ili „<>.“ |
Napomene
Operaciju LEFT JOIN možete koristiti da biste kreirali levi spoljni spoj. Leva spoljna spajanja sadrže sve zapise iz prve (leve) od dve tabele, čak i ako nema podudaranja vrednosti za zapise u drugoj (desnoj) tabeli.
Operaciju RIGHT JOIN možete koristiti da biste kreirali desni spoljni spoj. Desna spoljna spajanja sadrže sve zapise iz druge (desne) od dve tabele, čak i ako nema podudaranja vrednosti za zapise u prvoj (levoj) tabeli.
Na primer, možete da koristite LEFT JOIN sa tabelama Odeljenja (levo) i Zaposleni (desno) da biste izabrali sva odeljenja, uključujući ona koji nemaju dodeljene zaposlene. Da biste izabrali sve zaposlene, uključujući one koji nisu dodeljeni nekom odeljenju, koristite RIGHT JOIN.
Sledeći primer pokazuje kako možete da spojite tabele Kategorije i Proizvodi u polju ID kategorije. Upit će vratiti listu svih kategorija, uključujući one koje ne sadrže proizvode:
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
U ovom primeru, ID kategorije je objedinjeno polje, ali nije uključeno u rezultate upita jer nije navedeno u izrazu SELECT. Da biste uključili spojeno polje, unesite ime polja u izraz SELECT – u ovom slučaju, Categories.CategoryID.
Da biste kreirali upit koji sadrži samo zapise u kojima su podaci u spojenim poljima isti, koristite operaciju INNER JOIN.
-
Operacija LEFT JOIN ili RIGHT JOIN može biti ugnežđena unutar operacije INNER JOIN, ali INNER JOIN ne može biti ugnežđen unutar operacije LEFT JOIN ili RIGHT JOIN. Pogledajte diskusiju o ugnežđivanja u temi INNER JOIN da biste videli kako da ugnezdite spajanja unutar drugih spajanja.
-
Možete povezati više odredbi ON. Pogledajte diskusiju o povezivanju odredbi u temi INNER JOIN da biste videli kako se to radi.
Ako pokušate da spojite polja koja sadrže podatke Memoranduma ili OLE objekta, dobija se greška.