Sobes.tech
Junior

Каква е разликата между LEFT JOIN и INNER JOIN?

sobes.tech AI

Отговор от AI

INNER JOIN връща само онези редове, за които има съвпадения и в двете съединени таблици.

LEFT JOIN (или LEFT OUTER JOIN) връща всички редове от лявата таблица и съответните редове от дясната таблица. Ако няма съвпадения в дясната таблица, стойностите NULL се връщат за колоните на дясната таблица.

Пример:

Да предположим, че има две таблици: Служители (id, име) и Отдели (id, име, ръководител_id).

INNER JOIN Служители И Отдели НА Служители.id = Отдели.ръководител_id

Ще върне само служителите, които са ръководители на отдели.

LEFT JOIN Служители И Отдели НА Служители.id = Отдели.ръководител_id

Ще върне всички служители. За тези, които са ръководители на отдели, ще бъдат включени и данните за отдела. За служителите, които не са ръководители, колоните от таблицата Отдели ще съдържат NULL.