Операции объединения

Операции объединения в SQL позволяют соединять данные из двух и более таблиц. Основные виды объединений — это JOIN, но также есть операции UNION для объединения наборов строк.


1️⃣ JOIN (соединение таблиц по ключу)

Виды:

Тип JOIN
Что делает

INNER JOIN

Возвращает строки, где есть совпадения в обеих таблицах

LEFT JOIN

Берёт все строки из левой таблицы + совпадения из правой (если нет → NULL)

RIGHT JOIN

Берёт все строки из правой таблицы + совпадения из левой (если нет → NULL)

FULL OUTER JOIN

Берёт все строки из обеих таблиц, несопоставленные поля → NULL

CROSS JOIN

Декартово произведение таблиц (каждая строка левой таблицы соединяется с каждой строкой правой)

Пример INNER JOIN:

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

→ Только сотрудники, у которых есть отдел.


2️⃣ UNION / UNION ALL (объединение результатов запросов)

  • UNION — объединяет результаты двух SELECT, удаляя дубликаты.

  • UNION ALL — объединяет все строки с сохранением дубликатов.

Пример:

SELECT name FROM employees
UNION
SELECT name FROM managers;

→ Все уникальные имена из обеих таблиц.

UNION ALL:

SELECT name FROM employees
UNION ALL
SELECT name FROM managers;

→ Все имена, включая повторяющиеся.


3️⃣ Кратко:

Операция
Что объединяет
Особенности

JOIN

Таблицы по ключу

Варианты INNER, LEFT, RIGHT, FULL, CROSS

UNION / UNION ALL

Результаты SELECT

UNION убирает дубликаты, UNION ALL сохраняет все строки

Last updated

Was this helpful?