Sobes.tech
Junior — Middle

Можете ли да обясните разликите между различните типове връзки на таблиците в SQL?

sobes.tech AI

Отговор от AI

В 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;

Този заявка ще върне имената на служителите и имената на техните отдели само за служителите, които имат отдел.