Sobes.tech
Junior

Hogyan működik az SQL Join?

sobes.tech MI

Válasz az MI-től

SQL JOIN két vagy több tábla sorait kapcsolja össze egy közös oszlop alapján. Többféle JOIN típus létezik:

  • INNER JOIN: Olyan sorokat ad vissza, ahol mindkét táblában egyező értékek vannak.
  • LEFT (OUTER) JOIN: Az összes sort visszaadja a bal oldali táblából és a hozzájuk tartozó egyező sorokat a jobb oldaliból. Ha nincs egyezés, akkor a jobb oldal oszlopai NULL értéket vesznek fel.
  • RIGHT (OUTER) JOIN: Az összes sort visszaadja a jobb oldali táblából és a hozzá tartozó egyező sorokat a bal oldaliból. Ha nincs egyezés, akkor a bal oldal oszlopai NULL értéket vesznek fel.
  • FULL (OUTER) JOIN: Mindkét tábla összes sorát visszaadja. Ha nincs egyezés, a hiányzó oszlopok NULL értéket vesznek fel.
  • CROSS JOIN: A két tábla kartéziánus szorzatát adja vissza (minden sor az első táblából összekapcsolódik minden sorral a másodikból).

A szintaxis általában így néz ki:

SELECT oszlop1, oszlop2...
FROM tabla1
JOIN tabla2 ON tabla1.közös_oszlop = tabla2.közös_oszlop;

INNER JOIN példája:

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

Tekintsük a customers és orders táblákat:

customers

customer_id customer_name
1 Alice
2 Bob
3 Charlie

orders

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

Az INNER JOIN eredménye:

order_id customer_name
101 Alice
102 Bob
103 Alice

A LEFT JOIN eredménye (orders LEFT JOIN customers):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL