Middle
Mi a különbség a JOIN, LEFT JOIN és RIGHT JOIN között?
sobes.tech MI
Válasz az MI-től
A JOIN egy SQL művelet, amely két tábla sorait egyesíti a megadott oszlopok értékeinek egyezése alapján.
- JOIN (vagy INNER JOIN) csak azokat a sorokat adja vissza, amelyek mindkét táblában egyeznek.
- LEFT JOIN az összes sort visszaadja a bal oldali táblából és a megfelelőket a jobb oldaliból. Ha nincs egyezés, a jobb oldal oszlopai NULL-ok lesznek.
- RIGHT JOIN fordítva, az összes sort visszaadja a jobb oldali táblából és a megfelelőket a bal oldaliból, NULL értékekkel, ahol nincs egyezés.
Példa:
SELECT * FROM A
JOIN B ON A.id = B.a_id; -- csak egyező sorok
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- minden A-beli + egyező B-beli
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- minden B-beli + egyező A-beli