Middle
Ako pracujete s SQL? Čím sa líšia INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?
sobes.tech AI
Odpoveď od AI
SQL JOIN je operácia spájania dát z dvoch tabuliek na základe prepojeného poľa. Rozdiely medzi typmi JOIN:
-
INNER JOIN — vracia iba záznamy, ktoré majú zhody v oboch tabuľkách.
-
LEFT JOIN (LEFT OUTER JOIN) — vracia všetky záznamy z ľavej tabuľky a zodpovedajúce z pravej; ak zhoda chýba, v pravej časti budú NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — naopak, vracia všetky záznamy z pravej tabuľky a zodpovedajúce z ľavej; ak zhoda chýba, v ľavej časti budú NULL.
-
FULL OUTER JOIN — vracia všetky záznamy z oboch tabuliek; ak zhoda chýba, v príslušnej časti budú NULL.
Príklad:
SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;
Tento dotaz vráti všetkých zákazníkov s ich objednávkami, ak existujú, alebo NULL v poli order_date, ak žiadne objednávky nie sú.