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