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