Sobes.tech
Middle

Mi a különbség a LEFT JOIN és az INNER JOIN között?

sobes.tech MI

Válasz az MI-től

LEFT JOIN és INNER JOIN SQL-ben táblák összekapcsolásának típusai, amelyek különböznek abban, hogyan választják ki a sorokat:

  • INNER JOIN csak azokat a sorokat adja vissza, amelyek megfelelnek mindkét táblában a csatlakozási feltételnek.
  • LEFT JOIN az összes sort visszaadja a bal oldali táblából és a megfelelő sorokat a jobb oldaliból. Ha nincs megfelelés, a jobb oldal oszlopai NULL értékűek lesznek.

Példa:

SELECT a.id, b.value
FROM table_a a
INNER JOIN table_b b ON a.id = b.a_id;

SELECT a.id, b.value
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id;

Az első esetben csak azok a rekordok jelennek meg, amelyek mindkét táblában megfelelnek egymásnak. A másodikban pedig minden rekord a table_a-ból, még akkor is, ha nincs megfelelő rekord a table_b-ben.