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

Какие типы соединений (join) применимы в 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 используется для выборки связанных данных.
  • OUTER JOINы полезны, когда нужно сохранить все данные из одной или обеих таблиц, даже если связей нет.
  • CROSS JOIN редко используется, так как может привести к очень большому количеству результатов.

Пример INNER JOIN:

SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;