Kādus JOIN veidus pazīsti un kā tie atšķiras?
sobes.tech AI
Atbilde no AI
Galvenie SQL apvienošanas (JOIN) veidi un to atšķirības:
-
INNER JOIN — atgriež tikai tās ierakstus, kuriem ir atbilstība abās tabulās pēc apvienošanas nosacījuma.
-
LEFT JOIN (LEFT OUTER JOIN) — atgriež visus ierakstus no kreisās tabulas un atbilstošos no labās. Ja atbilstība nav, labās tabulas lauki būs NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — atgriež visus ierakstus no labās tabulas un atbilstošos no kreisās.
-
FULL JOIN (FULL OUTER JOIN) — atgriež visus ierakstus no abām tabulām, atbilstošos un neatbilstošos, ar NULL vietās, kur datu nav.
-
CROSS JOIN — divu tabulu karteziskais reizinājums, atgriež visas iespējamās rindu kombinācijas.
Piemērs:
-- 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;
Izvēle starp JOIN ir atkarīga no tā, kādus datus vēlaties iegūt un kā rīkoties ar trūkstošajām atbilstībām.