Sobes.tech
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;

Овај упит ће вратити имена запослених и називе њихових одељења само за оне запослене који имају одељење.