Middle
Kādas ir atšķirības starp JOIN, LEFT JOIN un RIGHT JOIN?
sobes.tech AI
Atbilde no AI
JOIN ir operācija SQL, kas apvieno divu tabulu rindas, pamatojoties uz nosacījumu, ka norādīto kolonnu vērtības sakrīt.
- JOIN (vai INNER JOIN) atgriež tikai tās rindas, kurās ir sakritība abās tabulās.
- LEFT JOIN atgriež visas kreisās tabulas rindas un atbilstošās labās tabulas rindas. Ja sakritība nav, labās tabulas kolonnas būs NULL.
- RIGHT JOIN pretēji, atgriež visas labās tabulas rindas un atbilstošās kreisās, ar NULL tur, kur sakritība nav.
Piemērs:
SELECT * FROM A
JOIN B ON A.id = B.a_id; -- tikai sakritības
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- viss no A + sakritības no B
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- viss no B + sakritības no A