Sobes.tech
Middle

Čím se liší JOIN, LEFT JOIN a RIGHT JOIN?

sobes.tech AI

Odpověď od AI

JOIN je operace v SQL, která spojuje řádky ze dvou tabulek na základě podmínky shody hodnot ve specifikovaných sloupcích.

  • JOIN (nebo INNER JOIN) vrací pouze řádky, které mají shody v obou tabulkách.
  • LEFT JOIN vrací všechny řádky z levé tabulky a odpovídající řádky z pravé. Pokud shoda chybí, sloupce pravé tabulky budou NULL.
  • RIGHT JOIN naopak vrací všechny řádky z pravé tabulky a odpovídající z levé, s NULL tam, kde shoda chybí.

Příklad:

SELECT * FROM A
JOIN B ON A.id = B.a_id; -- pouze shody

SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- vše z A + shody z B

SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- vše z B + shody z A