Sobes.tech
Junior — Middle

Meg tudná magyarázni az SQL-ben lévő különböző típusú táblacsatlakozások közötti különbségeket?

sobes.tech MI

Válasz az MI-től

SQL-ben több fő típusú csatlakozás (JOIN) létezik, amelyek lehetővé teszik adatok összekapcsolását két vagy több tábla között:

  • INNER JOIN — csak azokat a sorokat adja vissza, ahol a feltétel szerint mindkét táblában van egyezés.
  • LEFT JOIN (LEFT OUTER JOIN) — az összes sort a bal oldali táblából és a megfelelő sorokat a jobb oldaliból; ha nincs egyezés, a jobb oldal értékei NULL-ok lesznek.
  • RIGHT JOIN (RIGHT OUTER JOIN) — az összes sort a jobb oldali táblából és a megfelelő sorokat a bal oldaliból; ha nincs egyezés, a bal oldal értékei NULL-ok lesznek.
  • FULL JOIN (FULL OUTER JOIN) — mindkét táblából az összes sort visszaadja, ahol nincs egyezés, ott NULL értékekkel tölti ki.
  • CROSS JOIN — két tábla kartézi szorzata, minden lehetséges sor kombinációt visszaad.

INNER JOIN példa:

SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

Ez a lekérdezés csak azoknak a munkavállalóknak a neveit és osztályneveit adja vissza, akiknek van osztályuk.