Middle
Aké typy JOIN existujú v SQL a v čom sa líšia LEFT JOIN, RIGHT JOIN a INNER JOIN?
sobes.tech AI
Odpoveď od AI
V SQL-u obstaja več vrst JOIN-ov, ki omogočajo združevanje vrstic iz dveh tabel glede na določene pogoje:
- INNER JOIN — vrne samo tiste vrstice, ki imajo ujemanja v obeh tabelah.
- LEFT JOIN (LEFT OUTER JOIN) — vrne vse vrstice iz leve tabele in ujemajoče vrstice iz desne. Če ujemanje ni, so polja desne tabele NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — obratno, vrne vse vrstice iz desne tabele in ujemajoče vrstice iz leve, z NULL tam, kjer ujemanja ni.
Primer:
Tabela A:
| id | ime |
|---|---|
| 1 | Alice |
| 2 | Bob |
Tabela B:
| id | mesto |
|---|---|
| 1 | London |
| 3 | Berlin |
- INNER JOIN po id bo vrnil samo id=1 (Alice in London).
- LEFT JOIN bo vrnil:
- id=1 (Alice, London)
- id=2 (Bob, NULL)
- RIGHT JOIN bo vrnil:
- id=1 (Alice, London)
- id=3 (NULL, Berlin)
Tako LEFT in RIGHT JOIN ohranjata vse vrstice ene od tabel in jih dopolnjujeta z podatki iz druge, medtem ko INNER JOIN ohranja le ujemanja.