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).