Команда UNION ALL

Команда UNION ALL используется для объединения результатов нескольких запросов SELECT в один результирующий набор. В отличие от UNION, она не удаляет повторяющиеся строки, что делает её быстрее и предсказуемее при необходимости сохранить все записи.

Синтаксис

sqlSELECT column_list FROM table_name
UNION ALL
SELECT column_list FROM another_table

Таблицы для примеров

employees_2023
id name salary
1 Ivan 50000
2 Olga 52000
3 Sergey 48000
employees_2024
id name salary
3 Sergey 50000
4 Anna 54000

Пример

Давайте объединим списки сотрудников за два года, при этом повторяющиеся строки будут сохранены:

sqlSELECT *
FROM employees_2023
UNION ALL
SELECT *
FROM employees_2024

Результат выполнения кода:

id name salary
1 Ivan 50000
2 Olga 52000
3 Sergey 48000
3 Sergey 50000
4 Anna 54000

Пример

Давайте отсортируем объединённый результат по имени сотрудника:

sqlSELECT *
FROM employees_2023
UNION ALL
SELECT *
FROM employees_2024
ORDER BY name

Результат выполнения кода:

id name salary
4 Anna 54000
1 Ivan 50000
2 Olga 52000
3 Sergey 48000
3 Sergey 50000

Смотрите также

  • команду UNION,
    которая объединяет результаты с удалением дублей
  • команду DISTINCT,
    которая удаляет повторяющиеся строки
  • команду SELECT,
    которая формирует набор строк
  • команду ORDER BY,
    которая сортирует объединённый результат