Sobes.tech
Junior

Šta je LEFT JOIN u SQL-u?

sobes.tech АИ

Одговор од АИ

Лево спајање (LEFT JOIN или LEFT OUTER JOIN) у SQL-у се користи за спајање редова из две табеле.

Резултат LEFT JOIN укључује:

  • Све редове из леве (прве) табеле.
  • Одговарајуће редове из десне (друге) табеле, где је услов спајања испуњен.
  • За редове леве табеле који немају одговарајући ред у десној, колоне из десне табеле ће садржати вредности NULL.

Пример синтаксе:

SELECT <списак_колона>
FROM <лева_табела> AS L
LEFT JOIN <десна_табела> AS R ON L.<колона_за_спајање> = R.<колона_за_спајање>;

Начин рада:

Обилази се сваки ред у левој табели. За сваки ред се тражи одговарајући ред у десној табели према услову ON.

  • Ако се пронађу одговарајући редови, ред из леве табеле се спаја са свим одговарајућим редовима из десне табеле.
  • Ако одговарајући редови нису пронађени, ред из леве табеле се укључује у резултат, а колоне из десне табеле се попуњавају вредношћу NULL.

Визуелна представља:

Замислите два скупа података: Left (лева табела) и Right (десна табела). LEFT JOIN враћа све елементе из Left, као и оне из Right који имају одговарање у Left. Ако у Left постоје елементи без одговарајућег у Right, ти елементи ће и даље бити укључени у резултат, али поља из Right ће бити празна (NULL).

Поређење са другим типовима JOIN:

Тип JOIN Опис
INNER JOIN Враћа само редове где постоји одговарање између обе табеле.
LEFT JOIN Враћа све редове из леве табеле и одговарајуће редове из десне. NULL за оне без одговарања у десној.
RIGHT JOIN Враћа све редове из десне табеле и одговарајуће редове из леве. NULL за оне без одговарања у левој.
FULL OUTER JOIN Враћа све редове где постоји одговарање у било којој од табела. NULL за оне без одговарања у обе табеле.

Стога, LEFT JOIN је користан када желите да добијете потпуну листу записа из једне табеле и их допуните информацијама из друге табеле, чак и ако за неке записе нема одговарајућих података.