Sobes.tech
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;