Sobes.tech
Middle

Hogyan dolgozol SQL-le? Miben különböznek az INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?

sobes.tech MI

Válasz az MI-től

SQL JOIN — ez egy művelet, amely két tábla adatait egyesíti egy összekapcsolt mező alapján. A JOIN típusok közötti különbségek:

  • INNER JOIN — csak azokat a rekordokat adja vissza, amelyek mindkét táblában megtalálhatók.

  • LEFT JOIN (LEFT OUTER JOIN) — az összes rekordot a bal oldali táblából és a megfelelőket a jobb oldaliból; ha nincs megfelelés, a jobb oldali mezők NULL értékűek.

  • RIGHT JOIN (RIGHT OUTER JOIN) — fordítva, az összes rekordot a jobb oldali táblából és a megfelelőt a bal oldaliból; ha nincs megfelelés, a bal oldali mezők NULL értékűek.

  • FULL OUTER JOIN — mindkét tábla összes rekordját visszaadja; ha nincs megfelelés, a megfelelő mezők NULL értékűek.

Példa:

SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;

Ez a lekérdezés minden ügyfelet és rendelésüket visszaadja, ha vannak, vagy NULL-t az order_date mezőben, ha nincsenek rendeléseik.