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