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;
Този заявка ще върне имената на служителите и имената на техните отдели само за служителите, които имат отдел.