Оператор union: SQL UNION — оператор для объединения результатов запросов

SQL UNION — оператор для объединения результатов запросов

Навигация по уроку

  • Итоги и индивидуальные значения в одной таблице с помощью оператора SQL UNION
  • Другие случаи объединения запросов к одной таблице с помощью оператора SQL UNION
  • Объединение результатов запросов к двум таблицам с помощью оператора SQL UNION
  • Объединение результатов сложных запросов

Связанные темы

  • Оператор SELECT
  • Реляционная алгебра и её операции
НазадСодержаниеВперёд>>>

Оператор языка SQL UNION предназначен для объединения результирующих таблиц базы данных, полученных с применением слова SELECT. Условие объединения результирующих таблиц: совпадение числа, порядка следования и типа данных столбцов. ORDER BY следует применять к результату объединения и размещать только в конце составного запроса. Оператор UNION имеет следующий синтаксис:

SELECT ИМЕНА_СТОЛБЦОВ (1..N) FROM ИМЯ_ТАБЛИЦЫ UNION SELECT ИМЕНА_СТОЛБЦОВ (1..N) FROM ИМЯ_ТАБЛИЦЫ

В этой конструкции объединяемые запросы могут иметь условия в секции WHERE, а могут не иметь их. При помощи оператора UNION можно объединить запросы на извлечение данных как из одной таблицы, так и из разных.

При использовании оператора UNION без слова ALL результат не содержит дубликатов, а со словом ALL — содержит дубликаты.

Одним запросом можно вывести из таблицы индивидуальные значения столбцов, например, число лет, проработанных сотрудниками фирмы, размеры их заработной платы и другие. Другим запросом — с использованием агрегатных функций — можно получить, например, сумму заработных плат, получаемых сотрудниками отделов или занимающих те или иные должности, или среднее число лет трудового стажа (в таких запросах применяется группировка с помощью оператора GROUP BY).

А если нам требуется получить в одной таблице и сводку всех индивидуальных значений, и итоговые значения? Здесь на помощь приходит оператор SQL UNION, с помощью которого два запроса объединяются. К результату объединения требуется применить упорядочение, используя оператор ORDER BY. Для чего это необходимо, будет лучше понятно из примеров.

Если вы хотите выполнить запросы к базе данных из этого урока на MS SQL Server, но эта СУБД не установлена на вашем компьютере, то ее можно установить, пользуясь инструкцией по этой ссылке.

Пример 1. В базе данных фирмы есть таблица Staff, содержащая данные о сотрудниках фирмы. В ней есть столбцы Salary (размер заработной платы), Job (должность) и Years (длительность трудового стажа). Первый запрос возвращает индивидуальные размеры заработной платы, упорядоченные по должностям:

SELECT Name, Job, Salary FROM STAFF ORDER BY Job

Результатом выполнения запроса будет следующая таблица:

NameJobSalary
SandersMgr18357. 5
MarenghiMgr17506.8
PernalSales18171.2
DoctorSales12322.4
FactorSales16228.7

Второй запрос вернёт суммарную заработную плату по должностям. Мы уже готовим этот запрос для соединения с первым, поэтому будем помнить, что условием соединения является равное число столбцов, совпадение их названий, порядка следования и типов данных. Поэтому включаем в таблицу с итогами также столбец Name с произвольным значением ‘Z-TOTAL’:

SELECT ‘Z-TOTAL’ AS Name, Job, SUM(Salary) AS Salary FROM STAFF GROUP BY Job

Результатом выполнения запроса будет следующая таблица:

NameJobSalary
Z-TOTALMgr35864.3
Z-TOTALSales46722.3

Теперь объединим запросы при помощи оператора UNION и применим оператору ORDER BY к результату объединения. Группировать следует по двум столбцам: должность (Job) и имя (Name), чтобы строки с итоговыми (суммарными) значениями, в которых значение имени — ‘Z-TOTAL’, находились ниже строк с индивидуальными значениями. Объединение результатов запросов будет следующим:

(SELECT Name, Job, Salary FROM STAFF) UNION (SELECT ‘Z-TOTAL’ AS Name, Job, SUM(Salary) AS Salary FROM STAFF GROUP BY Job) ORDER BY Job, Name

Результатом выполнения запроса с оператором UNION будет следующая таблица, в которой каждая первая строка в каждой группе должностей будет содержать суммарную заработную плату сотрудников, работающих на этой должности:

NameJobSalary
MarenghiMgr17506.8
SandersMgr18357.5
Z-TOTALMgr35864.3
DoctorSales12322.4
FactorSales16228. 7
PernalSales18171.2
Z-TOTALSales46722.3

Написать запросы с использованием UNION самостоятельно, а затем посмотреть решение

Пример 2. Данные — те же, что в примере 1, но задача немного посложнее. Требуется вывести в одной таблице не только индивидуальные размеры заработной платы, упорядоченные по должностям и суммарную заработную плату по должностям, но суммарную заработную плату по всем сотрудникам.

Правильное решение.

Пример 3. В базе данных фирмы есть таблица Staff, содержащая данные о сотрудниках фирмы. В ней есть столбцы Name (фамилия), Dept (номер отдела), и Years (длительность трудового стажа).

NameDeptYears
Sanders207
Pernal208
Marenghi385
Doctor205
Factor388

Вывести в одной таблице средний трудовой стаж по отделам и индивидуальные значения длительности трудового стажа сотрудников, сгруппированных по номерам отделов.

Правильное решение.

Пример 4. В базе данных фирмы есть таблица Staff, содержащая данные о сотрудниках фирмы. В ней есть столбцы Salary (размер заработной платы), Job (должность) и Years (длительность трудового стажа). Первый запрос нужен для получения данных о сотрудниках, заработная плата которых более 21000:

SELECT ID, Name FROM STAFF WHERE SALARY > 21000

Результатом выполнения запроса будет следующая таблица:

IDName
140Fraye
160Molinare
260Jones

Второй запрос возвращает имена сотрудников, должность которых «менеждер», а число лет трудового стажа — менее 8:

SELECT ID, Name FROM STAFF WHERE Job = ‘Mgr’ AND Years

Результатом выполнения запроса будет следующая таблица:

IDName
10Sanders
30Marenghi
100Plotz
140Fraye
160Molinare
240Daniels

Теперь требуются данные, в которых объединены критерии отбора, применённые в двух запросах. Объединяем запросы при помощи оператора UNION:

SELECT ID, Name FROM STAFF WHERE SALARY > 21000 UNION SELECT ID, Name FROM STAFF WHERE Job = ‘Mgr’ AND Years

Результатом выполнения запроса с оператором UNION будет следующая таблица:

IDName
10Sanders
30Marenghi
100Plotz
140Fraye
160Molinare
240Daniels
260Jones

Запрос с оператором UNION может возвращать и большее количество столбцов, важно, повторимся, чтобы в объединяемых запросах число столбцов, порядок их следования и типы данных совпадали.

Теперь работаем с базой данных «Портал объявлений — 1». Скрипт для создания этой базы данных, её таблицы и заполения таблицы данных — в файле по этой ссылке

Пример 5. Есть база данных портала объявлений.

Пусть сначала требуется получить данные о категориях и частях категорий объявлений, в которых подано более 100 объявлений в неделю. Пишем следующий запрос:

SELECT Category, Part, Units, Money FROM ADS WHERE Units > 100

Результатом выполнения запроса будет следующая таблица:

CategoryPartUnitsMoney
ТранспортАвтомашины11017600
ТранспортМотоциклы13120960
ЭлектротехникаТелевизоры1278255
ЭлектротехникаХолодильники1378905
СтройматериалыРегипс11211760
ДосугМузыка1177605

Теперь требуется извлечь данные о категориях и частях категорий объявлений, за которые выручено более 10000 денежных единиц в неделю.

Пишем следующий запрос:

SELECT Category, Part, Units, Money FROM ADS WHERE Money > 10000

Результатом выполнения запроса будет следующая таблица:

CategoryPartUnitsMoney
ТранспортАвтомашины11017600
НедвижимостьКвартиры8918690
НедвижимостьДачи5711970
ТранспортМотоциклы13120960
СтройматериалыРегипс11211760

Теперь требуется извлечь данные, которые соответствуют критериям и первого, и второго запросов. Объединяем запросы при помощи оператора UNION:

SELECT Category, Part, Units, Money FROM ADS WHERE Units > 100 UNION SELECT Category, Part, Units, Money FROM ADS WHERE Money > 10000

Результатом выполнения запроса будет следующая таблица:

ТранспортАвтомашины11017600
ТранспортМотоциклы13120960
НедвижимостьКвартиры8918690
НедвижимостьДачи5711970
ЭлектротехникаТелевизоры1278255
ЭлектротехникаХолодильники1378905
СтройматериалыРегипс11211760
ДосугМузыка1177605

Примеры запросов к базе данных «Портал объявлений-1» есть также в уроках об операторах INSERT, UPDATE, DELETE, HAVING.

  • Итоги и индивидуальные значения в одной таблице с помощью оператора SQL UNION
  • Другие случаи объединения запросов к одной таблице с помощью оператора SQL UNION
  • Объединение результатов запросов к двум таблицам с помощью оператора SQL UNION
  • Объединение результатов сложных запросов

Поделиться с друзьями

НазадСодержаниеВперёд>>>

Объединение UNION и UNION ALL в SQL – описание и примеры | Info-Comp.ru

Пришло время поговорить об объединении данных по средствам конструкции union и union all, так как это иногда бывает очень полезно, и без использования такой конструкции бывает порой не обойтись. Примеры будем писать в СУБД MSSQL 2008, используя язык SQL.

И начать хотелось бы с того, что мы с Вами уже рассматривали много примеров написания запросов на SQL, например, оператор select языка SQL, или использование строковых функций SQL, также рассматривали программирование как на plpgsql так и на transact-sql, например, Как написать функцию на PL/pgSQL и Transact-sql – Табличные функции и временные таблицы соответственно.

Я не просто так указал вышеперечисленные статьи, а указал я их, потому, что для более лучшего понимания и усвоения сегодняшнего урока, необходимо начальные знания (это сайт для начинающих программистов), которые как раз Вы можете получить из вышеупомянутого материала.

И так приступим. И для начала давайте рассмотрим, что же это за операторы union и union all.

Заметка! Профессиональный видеокурс по T-SQL для начинающих.

Содержание

  1. Что такое UNION и UNION ALL в SQL?
  2. Необходимые условия для операторов union и union all
  3. Примеры использования union и union all

Что такое UNION и UNION ALL в SQL?

  • UNION – это оператор SQL для объединения результирующего набора данных нескольких запросов, и данный оператор выводит только уникальные строки в запросах, т.е. например, Вы объединяете два запроса и в каждом из которых есть одинаковые данные, другими словами полностью идентичные, и оператор union объединит их в одну строку для того чтобы не было дублей;
  • UNION ALL – это оператор SQL для объединения результирующего набора данных нескольких запросов, а вот данный оператор, выведет уже абсолютно все строки, даже дубли.

Необходимые условия для операторов union и union all

  1. Набор полей должен быть одинаковый во всех запросах, т.е. количество полей в каждом  запросе, который будет объединяться по средствам конструкции union или union all, должно быть одинаковое;
  2. Типы данных полей также должны совпадать в каждом запросе, т.е. например, если Вы захотите написать один запрос, в котором будет тип данных int а во втором запросе тип данных varchar то у Вас запрос не выполнится а окно запроса выведет ошибку;
  3. В случае сортировки оператор order by можно указать только после последнего запроса.

Теперь давайте поговорим о том, в каких случаях нам может понадобиться использование этих операторов. Ну, например,  у Вас есть несколько баз со схожей структурой, каждая из которых создана, например, для какого-нибудь филиала, а Вам необходимо объединить эти данные для предоставления отчетности по всем филиалам руководству и самое простое как это можно сделать, это написать запросы на SQL, каждый из которых будет обращаться к разным базам, и через конструкцию union или union all объединить их. Также иногда бывает необходимо объединить данные в одной базе таким образом, что обычными объединениями это не реализовать и приходится использовать union. Почему я говорю «приходится» да потому что данная конструкция значительно увеличивает время выполнения запроса, если например данных очень много, и злоупотреблять ею не нужно.

Хватит теории, переходим к практике.

Примечание! Как уже говорилось, запросы будем писать в Management Studio для SQL Server 2008

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

Для начала создадим две простых таблицы test_table и test_table_2

CREATE TABLE [test_table](
        [id] [bigint] IDENTITY(1,1) NOT NULL,
        [number] [numeric](18, 0) NULL,
        [text] [varchar](50) NULL,
 CONSTRAINT [PK_test_table] PRIMARY KEY CLUSTERED 
(
        [id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, 
ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
--и вторая таблица
CREATE TABLE [test_table_2](
        [id] [bigint] IDENTITY(1,1) NOT NULL,
        [number] [numeric](18, 0) NULL,
        [text] [varchar](50) NULL,
 CONSTRAINT [PK_test_table_2] PRIMARY KEY CLUSTERED 
(
        [id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, 
ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

Они одинаковые для примера, только разные названия. Я заполнил их вот такими данными:

Теперь давайте напишем запрос, который объединит результирующие данные в одни, например через union. Синтаксис очень прост:

Запрос 1
 union
Запрос 2
 union
Запрос 3
 и т.д.

Вот запрос:

select number, text from test_table
 union
select number, text from test_table_2

Как Вы видите, вывелось всего 5 строк, так как у нас первая строка в первом запросе и первая строка во втором запросе одинаковые, поэтому они объединились.

Теперь давайте объединим  через union all

Вот запрос:

select number, text from test_table
 union all
select number, text from test_table_2

Здесь уже вывелись все строки, так как мы указали union all.

А теперь давайте рассмотрим, какие могут быть ошибки даже в этом простом запросе. Например, мы перепутали последовательность полей:

Или мы в первом запросе указали дополнительное поле, а во втором этого не сделали.

Также, например, при использовании order by:

Здесь мы указали сортировку в каждом запросе, а нужно было только в последнем, например:

select number, text from test_table 
 union all
select number, text from test_table_2 
order by number

И напоследок, хотел рассказать об одной хитрости, которую можно использовать тогда когда, например, все-таки необходимо вывести в одном запросе какое-то поле, а в других его нет или просто оно не нужно, для этого можете написать вот такой запрос:

select id ,number, text from test_table 
 union all
select '', number, text from test_table_2

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

И еще один небольшой совет, так как запросы при объединении через union довольно обширные, то лучше на их основе создать представление (Views), в случае если данный запрос Вам требуется постоянно, и уже к этому представлению обращаться каждый раз, когда требуется, а зачем нужны представления мы с Вами уже рассматривали вот здесь – Что такое представления и зачем они нужны.

Наверное, все, что я хотел рассказать о конструкции union и union all языка  SQL я рассказал, если есть вопросы по использованию этих операторов, задавайте их в комментариях. Удачи!

Заметка! Для комплексного изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения и рассматриваются все конструкции языка SQL и T-SQL.

Оператор SQL UNION

❮ Предыдущий Далее ❯


Оператор SQL UNION

Оператор UNION используется для объединения набора результатов двух или более ВЫБЕРИТЕ заявления.

  • Каждая инструкция SELECT внутри UNION должен иметь тот же номер колонн
  • Столбцы также должны иметь похожие типы данных
  • Столбцы в каждый оператор SELECT также должен быть в том же порядке

Синтаксис UNION

SELECT имя_столбца(ов) FROM таблица1
UNION
SELECT имя_столбца(ов) FROM таблица2 ;

UNION ALL Синтаксис

Оператор UNION по умолчанию выбирает только отдельные значения. Позволять повторяющиеся значения, используйте UNION ALL :

SELECT имя_столбца(ов) FROM table1
UNION ALL
SELECT имя_столбца(ов) FROM таблица2 ;

Примечание: Имена столбцов в результирующем наборе обычно равны имена столбцов в первом операторе SELECT .


Демонстрационная база данных

В этом руководстве мы будем использовать известную учебную базу данных Northwind.

Ниже представлена ​​выборка из таблицы «Клиенты»:

CustomerID ИмяКлиента Контактное имя Адрес Город Почтовый индекс Страна
1 Альфред Футтеркисте Мария Андерс ул. Обере 57 Берлин 12209 Германия
2 Ана Трухильо Emparedados y helados Ана Трухильо Авда. Конститусьон 2222 Мексика Д.Ф. 05021 Мексика
3 Антонио Морено Такерия Антонио Морено Матадерос 2312 Мексика Д.Ф. 05023 Мексика

И выбор из таблицы «Поставщики»:

SupplierID Название Поставщика Контактное имя Адрес Город Почтовый индекс Страна
1 Экзотическая жидкость Шарлотта Купер ул. Гилберта, 49 Лондон ЭК1 4СД Великобритания
2 Новый Орлеан Cajun Delights Шелли Берк Почтовый индекс Коробка 78934 Новый Орлеан 70117 США
3 Усадьба бабушки Келли Регина Мерфи 707 Оксфорд Роуд. Анн-Арбор 48104 США



SQL UNION Пример

Следующая инструкция SQL возвращает города (только отдельные значения) из таблиц «Клиенты» и «Поставщики»:

Пример

ВЫБЕРИТЕ Город ИЗ Заказчиков
ОБЪЕДИНЕНИЕ
ВЫБЕРИТЕ Город ИЗ Поставщиков
ORDER BY City;

Попробуйте сами »

Примечание: Если у некоторых клиентов или поставщиков один и тот же город, каждый город будет указан один раз, потому что UNION выбирает только отдельные значения. Использовать UNION ALL также выбрать повторяющиеся значения!


SQL UNION ALL Пример

Следующая инструкция SQL возвращает города (также повторяющиеся значения) из таблиц «Клиенты» и «Поставщики»:

Пример

ВЫБЕРИТЕ Город ИЗ Клиентов
ОБЪЕДИНЕНИЕ ВСЕ
ВЫБЕРИТЕ Город ИЗ Поставщиков
ЗАКАЗ ПО ГОРОДУ;

Попробуйте сами »


SQL UNION With WHERE

Следующая инструкция SQL возвращает города Германии. (только разные значения) из таблиц «Клиенты» и «Поставщики»:

Пример

ВЫБЕРИТЕ город, страну ИЗ клиентов
ГДЕ Страна=’Германия’
СОЮЗ
ВЫБЕРИТЕ город, страну ИЗ поставщиков
ГДЕ Страна=’ Германия’
ЗАКАЗАТЬ ПО ГОРОДУ;

Попробуйте сами »


SQL UNION ALL With WHERE

Следующая инструкция SQL возвращает немецкие города (также повторяющиеся значения) из таблица «Клиенты» и «Поставщики»:

Пример

ВЫБЕРИТЕ город, страну ИЗ клиентов
ГДЕ Страна=’Германия’
ОБЪЕДИНЕНИЕ ВСЕ
ВЫБЕРИТЕ город, страну ИЗ поставщиков
ГДЕ Страна=’Германия’
ЗАКАЗАТЬ ПО Город;

Попробуйте сами »


Другой пример UNION

Следующая инструкция SQL перечисляет всех клиентов и поставщиков:

Пример

ВЫБЕРИТЕ ‘Клиент’ AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT ‘Supplier’, ContactName, City, Country
FROM Suppliers;

Попробуйте сами »

Обратите внимание на «Тип AS» выше — это псевдоним. SQL Псевдонимы используются для присвоения таблице или столбцу временного имени. Псевдоним существует только на время выполнения запроса. Итак, вот мы создали временный столбец с именем «Тип», в котором указано, является ли контактное лицо «Заказчик» или «Поставщик».

❮ Предыдущий Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery

900 Справочник Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Основные примеры
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3. CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery

FORUM | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

Лучший способ объединения запросов SQL [обновлено]

В большинстве случаев для извлечения полезной информации в реальных приложениях требуются данные из нескольких таблиц. SQL предоставляет для этого несколько инструментов, и одним из таких инструментов является оператор SQL UNION. Это используется для объединения результатов двух команд выбора, выполненных для столбцов из разных таблиц.

Что такое UNION в SQL?

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

Чтобы понять этот оператор, давайте разберемся в его синтаксисе.

Синтаксис для использования оператора SQL UNION

ВЫБРАТЬ столбец_1, столбец_2,… столбец_n

ИЗ таблицы_1

СОЮЗ

ВЫБРАТЬ столбец_1, столбец_2,… столбец_n

ИЗ таблицы_2;

  • Количество столбцов, извлекаемых каждой командой SELECT в рамках UNION, должно быть одинаковым.
  • Столбцы в одной и той же позиции в каждом операторе SELECT должны иметь одинаковые типы данных. Например, «char» и «varchar» — это идентичные типы данных.
  • Столбцы должны быть в правильном порядке в инструкциях SELECT.

Применим этот оператор к разным столбцам таблиц.

В качестве примера возьмем следующую таблицу «Employee_dept»:

Другая таблица, «Менеджер», например: 

Чтобы определить, к каким городам принадлежат сотрудники и менеджеры из двух вышеприведенных таблиц, мы будем использовать следующий запрос:

Это приведет к следующему:

Это показывает, что в результате нет копий. Имя столбца результата — «Город», так как результат занимает имена столбцов первого оператора SELECT.

Использование UNION для нескольких полей

Мы можем применить UNION к нескольким столбцам, а также упорядочить результаты с помощью оператора ORDER BY в конце.

Чтобы получить имя и отдел каждого сотрудника и менеджера из двух приведенных выше примеров таблиц, используйте следующий код: 

Это приведет к следующему:

Результат сортируется по «Dept_ID».

Мы также можем фильтровать строки, извлекаемые каждым оператором SELECT. Давайте посмотрим, как это делается.

Использование предложения Where с оператором UNION

Мы можем использовать предложение WHERE в одном или обоих операторах SELECT, чтобы отфильтровать объединяемые строки.

  • Чтобы получить имена сотрудников и менеджеров и зарплаты, которые превышают 60 000, из таблиц «Employee_dept» и «Manager», мы введем следующее: 

Это приведет к следующему:

  • Мы также можем использовать предложение WHERE только в одном из операторов SELECT в UNION.

Чтобы найти имена и адреса всех менеджеров в наборе данных и всех сотрудников, имеющих «Dept_ID», равный 1003:

Это приведет к следующему:

Использование UNION с псевдонимами

Псевдонимы SQL — это временные имена, присвоенные таблицам или столбцам. Эти псевдонимы существуют только на время запроса, в котором они используются. Мы используем оператор «AS» для создания псевдонимов.

Например, мы будем использовать следующий запрос, чтобы получить всю информацию о сотрудниках и менеджерах, и мы классифицируем их в соответствии с их ролями.

В приведенном выше запросе мы создали временный столбец с пометкой «Тип», который будет использоваться для классификации информации как информации о сотрудниках или менеджерах.

Результат приведенного выше запроса:

Руководители помечены как «Менеджер», а их подчиненные — как «Сотрудник» во временной колонке «Тип» результата UNION.

Псевдонимы помогают в создании упорядоченных результатов таблицы.

СОЮЗ ВСЕХ Оператор

Оператор UNION не допускает дубликатов. Мы можем использовать оператор UNION ALL, если хотим, чтобы дубликаты присутствовали в комбинации двух или более операторов SELECT.

Этот оператор SQL подчиняется тем же правилам, что и оператор UNION, за исключением использования в синтаксисе ключевого слова UNION ALL вместо ключевого слова UNION.

Например, если нам нужен список всех городов (включая дубликаты) из наших таблиц «Employee_dept» и «Manager», мы будем использовать следующий запрос:

Это приведет к следующему:

Как мы видим, результат содержит все города, включая все дубликаты.

На этом мы подошли к концу этой статьи об операторе UNION.

Следующие шаги

Если мы помним все правила и синтаксис оператора SQL UNION, объединение результатов запроса становится легкой задачей. Используя эти знания, мы можем добиться самых разных результатов и получить очень полезную информацию.

Теперь, когда вы знаете, как использовать оператор UNION, пришло время начать запрашивать и манипулировать всеми видами наборов данных, извлекать из них полезную информацию и шаблоны и продвигаться вперед на пути к тому, чтобы стать экспертом по SQL. Если вам понравилась эта статья и вы хотите пройти сертификацию, ознакомьтесь с нашей программой для аспирантов по веб-разработке с полным стеком, так как она охватывает все, что вам нужно знать о SQL.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *