Junior — Middle
Vysvětlete rozdíly mezi LEFT JOIN a RIGHT JOIN v SQL a jejich důsledky při spojování tabulek.
sobes.tech AI
Odpověď od AI
LEFT JOIN a RIGHT JOIN jsou typy spojení tabulek v SQL, které se liší směrem začlenění řádků:
-
LEFT JOIN vrací všechny řádky z levé (první) tabulky a odpovídající řádky z pravé (druhé) tabulky. Pokud odpovídající řádek neexistuje, pole pravé tabulky bude NULL.
-
RIGHT JOIN vrací všechny řádky z pravé tabulky a odpovídající řádky z levé tabulky. Pokud odpovídající řádek neexistuje, pole levé tabulky bude NULL.
Důsledky:
- U LEFT JOIN si zachováte všechna data z levé tabulky, i když neexistují odpovídající řádky.
- U RIGHT JOIN si zachováte všechna data z pravé tabulky.
Příklad:
SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;
Vrátí všechny záznamy z A, s odpovídajícími záznamy z B nebo NULL, pokud odpovídající řádky neexistují.
Pokud nahradíte RIGHT JOIN, budou všechny záznamy z B, s odpovídajícími záznamy z A nebo NULL.
Volba závisí na tom, kterou tabulku chcete považovat za hlavní při spojování.