Sobes.tech
Junior — Middle

Kā atšķiras iekšējā savienojuma un labās ārējās savienojuma atšķirības SQL?

sobes.tech AI

Atbilde no AI

SQL iekšējā savienojuma (INNER JOIN) un labās ārējās savienojuma (RIGHT OUTER JOIN) atšķiras pēc tā, kuras rindas no tabulām tiek iekļautas rezultātā.

  • INNER JOIN atgriež tikai tās rindas, kurām ir atbilstība abās tabulās saskaņā ar savienošanas nosacījumu.

  • RIGHT OUTER JOIN atgriež visas rindas no labās tabulas un atbilstošās rindas no kreisās tabulas. Ja labās tabulas rindai nav atbilstības kreisajā, kreisās tabulas lauki būs NULL.

Piemērs:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Atgriež tikai tās rindas, kur A.id atbilst B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Atgriež visas rindas no B, pat ja nav atbilstības A