Sobes.tech
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ú.