Junior
Koje vrste JOIN postoje u SQL-u?
sobes.tech АИ
Одговор од АИ
Postoje sledeće glavne vrste JOIN u SQL-u:
-
INNER JOIN (ili jednostavno JOIN): Vraća samo one redove gde postoji poklapanje vrednosti u obe tabele na osnovu navedenog uslova.
-
LEFT JOIN (ili LEFT OUTER JOIN): Vraća sve redove iz leve tabele i poklapajuće redove iz desne. Ako nema poklapanja, polja će biti NULL.
-
RIGHT JOIN (ili RIGHT OUTER JOIN): Vraća sve redove iz desne tabele i poklapajuće redove iz leve. Ako nema poklapanja, polja će biti NULL.
-
FULL JOIN (ili FULL OUTER JOIN): Vraća sve redove gde postoji poklapanje u levoj ili desnoj tabeli. Ako nema poklapanja, polja iz nedostajuće tabele će biti NULL.
Dodatne vrste JOIN (zavisno od specifičnog sistema za upravljanje bazama podataka):
- CROSS JOIN: Vraća kartezijev proizvod dve tabele. Svaki red iz prve tabele kombinuje se sa svakim redom iz druge.
Primer sintakse:
-- INNER JOIN
SELECT *
FROM Tabela1
INNER JOIN Tabela2 ON Tabela1.zajednicka_kolona = Tabela2.zajednicka_kolona;
-- LEFT JOIN
SELECT *
FROM Tabela1
LEFT JOIN Tabela2 ON Tabela1.zajednicka_kolona = Tabela2.zajednicka_kolona;
-- RIGHT JOIN
SELECT *
FROM Tabela1
RIGHT JOIN Tabela2 ON Tabela1.zajednicka_kolona = Tabela2.zajednicka_kolona;
-- FULL JOIN
SELECT *
FROM Tabela1
FULL JOIN Tabela2 ON Tabela1.zajednicka_kolona = Tabela2.zajednicka_kolona;
-- CROSS JOIN
SELECT *
FROM Tabela1
CROSS JOIN Tabela2;