Sobes.tech
Junior — Middle

Meg tudná magyarázni az SQL-ben az inner join és a left join közötti különbséget?

sobes.tech MI

Válasz az MI-től

Belső összekapcsolás (INNER JOIN) csak azokat a sorokat adja vissza, amelyek megfelelnek mindkét táblában a csatlakozási feltételnek. Ha az egyik táblában nincs megfelelő rekord, az a sor nem jelenik meg az eredményben.

Bal oldali összekapcsolás (LEFT JOIN) minden sort visszaad a bal oldali táblából és a megfelelő sorokat a jobb oldali táblából. Ha nincs megfelelés, a jobb oldali értékek NULL-ok lesznek.

Példa:

SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;

Csak azok az ügyfelek jelennek meg, akik rendelésekkel rendelkeznek.

SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;

Minden ügyfél megjelenik, beleértve azokat is, akiknek nincs rendelése (ebben az esetben az order_id NULL lesz).