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