Milliseid JOIN-tüüpe tead ja kuidas nad erinevad?
sobes.tech AI
Vastus AI-lt
SQL-i põhiliigid JOIN ja nende erinevused:
-
INNER JOIN — tagastab ainult need kirjed, millel on vastavus mõlemas tabelis vastavalt ühendustingimusele.
-
LEFT JOIN (LEFT OUTER JOIN) — tagastab kõik kirjed vasakpoolsest tabelist ja vastavad parempoolsest. Kui vastavust pole, parempoolsete väljade väärtused on NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — tagastab kõik kirjed parempoolsest tabelist ja vastavad vasakpoolsest.
-
FULL JOIN (FULL OUTER JOIN) — tagastab kõik kirjed mõlemast tabelist, nii vastavad kui ka mitte-vastavad, NULL-idega kohtades, kus andmeid pole.
-
CROSS JOIN — kahe tabeli kartesiaaniline korrutis, tagastab kõik võimalikud ridade kombinatsioonid.
Näide:
-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;
-- RIGHT JOIN
SELECT * FROM A RIGHT JOIN B ON A.id = B.a_id;
-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;
-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;
JOIN valik sõltub sellest, milliseid andmeid soovite saada ja kuidas käsitleda puuduvad vastavused.