Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад

Что такое UNION в SQL и как он работает?

Вопрос проверяет понимание оператора UNION в SQL, который используется для объединения результатов нескольких SELECT-запросов в один набор данных.

Короткий ответ

UNION — это оператор SQL, который объединяет результаты двух или более SELECT-запросов в один результирующий набор. Он автоматически удаляет дублирующиеся строки из итогового результата. Для работы UNION количество и типы столбцов в каждом SELECT должны совпадать. Этот оператор полезен, когда нужно собрать данные из разных таблиц или условий в единый список.

Длинный ответ

Оператор UNION в SQL — это мощный инструмент для комбинирования данных из нескольких запросов. Он позволяет взять результирующие наборы от двух или более инструкций SELECT и объединить их в единую таблицу результатов. Ключевое требование: каждый SELECT в UNION должен возвращать одинаковое количество столбцов, и соответствующие столбцы должны иметь совместимые типы данных (например, текст с текстом, число с числом).

Как работает UNION

При выполнении UNION система сначала выполняет каждый отдельный SELECT-запрос. Затем она объединяет все полученные строки в один промежуточный набор. После этого происходит важный шаг — удаление дубликатов. Система сравнивает все строки в объединённом наборе и оставляет только уникальные. Если вам нужно сохранить все строки, включая повторяющиеся, следует использовать UNION ALL, который работает быстрее, так как пропускает этап дедупликации.

Пример использования

Представьте, что у вас есть две таблицы: employees_office (сотрудники офиса) и employees_remote (удалённые сотрудники). Вам нужен общий список всех уникальных городов, где живут сотрудники.

SELECT city FROM employees_office
UNION
SELECT location FROM employees_remote
ORDER BY city;

В этом примере столбцы city и location должны быть одного типа. Результат будет отсортирован по алфавиту, и каждая город будет указан только один раз, даже если он есть в обеих таблицах.

Где применяется UNION

  • Консолидация данных из разных источников: Например, сбор статистики за разные периоды из отдельных таблиц.
  • Создание отчётов: Объединение категоризированных данных (например, список всех продуктов из разных регионов).
  • Альтернатива сложным условиям OR: Иногда UNION может быть более читаемой и эффективной заменой для запроса с множеством условий OR в WHERE.

Вывод: Используйте UNION, когда вам нужно объединить результаты нескольких запросов в один уникальный набор строк. Выбирайте UNION ALL, если производительность критична и дубликаты допустимы или даже желательны.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • SQL

Ключевые слова

#SQL

#UNION

#SELECT

#query

#result set

Подпишись на Java Developer в телеграм