Операции объединения
Операции объединения в SQL позволяют соединять данные из двух и более таблиц. Основные виды объединений — это JOIN, но также есть операции UNION для объединения наборов строк.
1️⃣ 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?