Milyen típusú JOIN-ok léteznek az SQL-ben?
sobes.tech MI
Válasz az MI-től
SQL-ben a következő fő típusú JOIN műveletek léteznek:
-
INNER JOIN (vagy egyszerűen JOIN): Csak azokat a sorokat adja vissza, ahol a megadott feltétel alapján egyező értékek vannak mindkét táblában.
-
LEFT JOIN (vagy LEFT OUTER JOIN): Visszaadja a bal oldali tábla összes sorát és a jobb oldali táblában egyező sorokat. Ha nincs egyezés, a mezők NULL értékűek lesznek.
-
RIGHT JOIN (vagy RIGHT OUTER JOIN): Visszaadja a jobb oldali tábla összes sorát és a bal oldali táblában egyező sorokat. Ha nincs egyezés, a mezők NULL értékűek lesznek.
-
FULL JOIN (vagy FULL OUTER JOIN): Visszaadja az összes sort, ahol egyezés van a bal vagy jobb táblában. Ha nincs egyezés, a hiányzó táblából származó mezők NULL értékűek lesznek.
További JOIN típusok (a konkrét adatbázis-kezelő rendszertől függően):
- CROSS JOIN: Keresztszorzatot ad vissza két tábla között. Minden első tábla sor minden második tábla sorral összekapcsolódik.
Szintaxis példák:
-- INNER JOIN
SELECT *
FROM Tabla1
INNER JOIN Tabla2 ON Tabla1.közös_oszlop = Tabla2.közös_oszlop;
-- LEFT JOIN
SELECT *
FROM Tabla1
LEFT JOIN Tabla2 ON Tabla1.közös_oszlop = Tabla2.közös_oszlop;
-- RIGHT JOIN
SELECT *
FROM Tabla1
RIGHT JOIN Tabla2 ON Tabla1.közös_oszlop = Tabla2.közös_oszlop;
-- FULL JOIN
SELECT *
FROM Tabla1
FULL JOIN Tabla2 ON Tabla1.közös_oszlop = Tabla2.közös_oszlop;
-- CROSS JOIN
SELECT *
FROM Tabla1
CROSS JOIN Tabla2;