Junior — Middle
Jaký je rozdíl mezi LEFT JOIN a RIGHT JOIN v SQL a v jakých případech se používají?
sobes.tech AI
Odpověď od AI
LEFT JOIN vrací všechny řádky z levé tabulky a odpovídající řádky z pravé tabulky. Pokud v pravé tabulce nejsou shody, výsledek obsahuje NULL pro její sloupce.
RIGHT JOIN naopak vrací všechny řádky z pravé tabulky a odpovídající z levé, s NULL tam, kde nejsou shody.
Používá se LEFT JOIN, když je třeba získat všechna data z hlavní (levé) tabulky a doplnit je z navázané, a RIGHT JOIN, když hlavní tabulka je pravá.
Příklad:
SELECT a.id, b.value
FROM A a
LEFT JOIN B b ON a.id = b.a_id;
Zde budou všechny záznamy z A, i když pro ně neexistují odpovídající záznamy v B.