Для чего используется оператор UNION в SQL и каковы его правила?

«Для чего используется оператор UNION в SQL и каковы его правила?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Оператор UNION используется для объединения результирующих наборов двух или более SELECT-запросов в один.

Ключевые правила:

  1. Количество и порядок столбцов во всех объединяемых запросах должны совпадать.
  2. Типы данных в соответствующих столбцах должны быть совместимы.
  3. UNION автоматически удаляет дублирующиеся строки из финального результата.
  4. UNION ALL выполняет то же объединение, но сохраняет все дубликаты, работая быстрее, так как не требует проверки на уникальность.

Пример: Объединение списков имён из двух таблиц.

-- Получить уникальные имена всех сотрудников и клиентов
SELECT first_name FROM employees
UNION
SELECT customer_name FROM customers
ORDER BY first_name;

UNION vs JOIN:

  • JOIN соединяет таблицы по горизонтали (добавляет столбцы) на основе условия связи.
  • UNION объединяет результаты по вертикали (добавляет строки), складывая их друг под другом.