Junior — Middle
Можете ли да објасните разлике између различитих типова спојева табела у SQL-у?
sobes.tech АИ
Одговор од АИ
У SQL-у постоји неколико основних типова спојева (JOIN) који омогућавају спајање података из две или више табела:
- INNER JOIN — враћа само оне редове где постоји поклапање у обе табеле према услову.
- LEFT JOIN (LEFT OUTER JOIN) — враћа све редове из леве табеле и поклапајуће редове из десне; ако нема поклапања, вредности из десне табеле ће бити NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — враћа све редове из десне табеле и поклапајуће из леве.
- FULL JOIN (FULL OUTER JOIN) — враћа све редове из обе табеле, попуњавајући NULL тамо где нема поклапања.
- CROSS JOIN — картезијански производ две табеле, враћа све могуће комбинације редова.
Пример INNER JOIN:
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
Овај упит ће вратити имена запослених и називе њихових одељења само за оне запослене који имају одељење.