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.