SQL JOIN-ek egyszerű példákkal
Röviden
Az SQL JOIN műveletek lehetővé teszik, hogy több, egymással kapcsolatban álló táblából nyerjünk ki adatokat egyetlen lekérdezéssel. Ez az alapja a relációs adatbázis-kezelésnek, ahol az adatokat redundancia nélkül, széttagolva tároljuk.
A leggyakoribb JOIN típusok:
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
Ezek alapjai nélkül nincs komoly SQL tudás.
INNER JOIN: Csak azokat a sorokat adja vissza, amelyek mindkét táblában megtalálhatóak az összekapcsolási feltétel alapján (pl. olyan felhasználók, akiknek van legalább egy rendelésük).
LEFT JOIN: Visszaadja a bal oldali tábla összes sorát, és a jobb oldali tábla egyező sorait. Ha a jobb oldalon nincs találat, ott NULL érték szerepel (pl. az összes felhasználó listázása, akkor is, ha még nem rendeltek semmit).
RIGHT JOIN: A LEFT JOIN ellentéte; a jobb oldali tábla összes sorát adja vissza.
Példa: SELECT users.name, orders.order_date FROM users INNER JOIN orders ON users.user_id = orders.user_id;
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
Ezek alapjai nélkül nincs komoly SQL tudás.
INNER JOIN: Csak azokat a sorokat adja vissza, amelyek mindkét táblában megtalálhatóak az összekapcsolási feltétel alapján (pl. olyan felhasználók, akiknek van legalább egy rendelésük).
LEFT JOIN: Visszaadja a bal oldali tábla összes sorát, és a jobb oldali tábla egyező sorait. Ha a jobb oldalon nincs találat, ott NULL érték szerepel (pl. az összes felhasználó listázása, akkor is, ha még nem rendeltek semmit).
RIGHT JOIN: A LEFT JOIN ellentéte; a jobb oldali tábla összes sorát adja vissza.
Példa: SELECT users.name, orders.order_date FROM users INNER JOIN orders ON users.user_id = orders.user_id;