Sobes.tech
Назад к вопросам
Junior — Middle
86

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

Ответ от нейросети

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

Этот запрос вернёт имена сотрудников и названия их отделов только для тех сотрудников, у которых есть отдел.