Sobes.tech
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í.