Sobes.tech
Junior

Mis vahe on LEFT JOIN ja INNER JOIN vahel?

sobes.tech AI

Vastus AI-lt

INNER JOIN tagastab ainult need read, millel on vastavus mõlemas ühendatud tabelis.

LEFT JOIN (või LEFT OUTER JOIN) tagastab kõik vasaku tabeli read ja vastavad parema tabeli read. Kui paremas tabelis vastavust ei leidu, tagastatakse väärtused NULL parema tabeli veergudes.

Näide:

Oletame, et on kaks tabelit: Töötajad (id, nimi) ja Osakonnad (id, nimi, juht_id).

INNER JOIN Töötajad JA Osakonnad, ÜHENDUS: Töötajad.id = Osakonnad.juht_id

Tagastab ainult need töötajad, kes on osakonna juhid.

LEFT JOIN Töötajad JA Osakonnad, ÜHENDUS: Töötajad.id = Osakonnad.juht_id

Tagastab kõik töötajad. Neile, kes on osakonna juhid, lisatakse ka osakonna andmed. Töötajate puhul, kes ei ole juhid, Osakonnad veerud sisaldavad NULL.