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 је користан када желите да добијете потпуну листу записа из једне табеле и их допуните информацијама из друге табеле, чак и ако за неке записе нема одговарајућих података.