Sobes.tech
Junior

Ako funguje SQL Join?

sobes.tech AI

Odpoveď od AI

SQL JOIN spája riadky z dvoch alebo viacerých tabuliek na základe spoločného stĺpca medzi nimi. Existuje niekoľko typov JOIN:

  • INNER JOIN: Vráti riadky, kde sa hodnoty zhodujú v oboch tabuľkách.
  • LEFT (OUTER) JOIN: Vráti všetky riadky z ľavej tabuľky a zhodné riadky z pravej. Ak nie sú zhody, stĺpce pravej tabuľky budú mať hodnotu NULL.
  • RIGHT (OUTER) JOIN: Vráti všetky riadky z pravej tabuľky a zhodné riadky z ľavej. Ak nie sú zhody, stĺpce ľavej tabuľky budú mať hodnotu NULL.
  • FULL (OUTER) JOIN: Vráti všetky riadky z oboch tabuliek. Ak nie sú zhody, chýbajúce stĺpce budú mať hodnotu NULL.
  • CROSS JOIN: Vráti kartézsky súčin dvoch tabuliek (každý riadok z prvej tabuľky sa spojí s každým riadkom z druhej).

Syntax vyzerá takto:

SELECT stĺpec1, stĺpec2...
FROM tabuľka1
JOIN tabuľka2 ON tabuľka1.spoločný_stĺpec = tabuľka2.spoločný_stĺpec;

Príklad INNER JOIN:

SELECT objednávky.order_id, zákazníci.customer_name
FROM objednávky
INNER JOIN zákazníci ON objednávky.customer_id = zákazníci.customer_id;

Pozrime sa na tabuľky zákazníci a objednávky:

zákazníci

customer_id customer_name
1 Alice
2 Bob
3 Charlie

objednávky

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

Výsledok INNER JOIN bude:

order_id customer_name
101 Alice
102 Bob
103 Alice

Výsledok LEFT JOIN (objednávky LEFT JOIN zákazníci):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL