SQL Union - подробное руководство по оператору UNION



Эта статья представляет собой подробное руководство по использованию оператора SQL UNION. В этой статье на примерах обсуждаются различия между UNION и UNION ALL.

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

Приступим!





Что такое оператор SQL UNION?

Как следует из названия, этот оператор / предложение используется для объединения результатов двух или более операторов SELECT. Здесь каждый оператор SELECT, используемый в операторе UNION, должен иметь одинаковое количество столбцов в одинаковом порядке. Кроме того, все столбцы, представленные в операторах SELECT, должны иметь похожие типы данных.

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



Продолжая эту статью о SQL UNION, давайте разберемся с синтаксисом.

Синтаксис SQL UNION

UNION Синтаксис

ВЫБРАТЬ Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2

UNION ALL Синтаксис

ВЫБРАТЬ Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION ALL SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2

Продолжая эту статью, давайте разберемся в различиях между UNION и UNION ALL.

Различия между SQL UNION и UNION ALL



СОЮЗ СОЮЗ ВСЕ
Объединяет два или более набора результатов и не сохраняет повторяющиеся значения.Объединяет два или более набора результатов и сохраняет повторяющиеся значения.
 Синтаксис: СОЮЗ
 Синтаксис: СОЮЗ ВСЕ
SQL UNION -SQL UNION -Edureka

Далее, в этой статье о SQL UNION, давайте разберемся с различными способами использования этого оператора.

Примеры SQL UNION и UNION ALL

Для вашего лучшего понимания я рассмотрю следующие таблицы, чтобы показать вам различные примеры.

Таблица сотрудников

EmpID имя EmpAge город Почтовый индекс Страна
одинЭмма2. 3Берлин12109Германия
2Рахул26Мумбаи400015Индия
3Aayra24Нью-Йорк10014ИСПОЛЬЗОВАНИЕ
4Джон32ЛондонE1 7AEВеликобритания
5Дерек29Нью-Йорк10012ИСПОЛЬЗОВАНИЕ

Таблица проектов

ProjectID имя Рабочие дни город Почтовый индекс Страна
одинПроект 110Берлин12109Германия
2Проект 27Мумбаи400015Индия
3Проект 3двадцатьДели110006Индия
4Проект 415Мумбаи400015Индия
5Проект 528Берлин12109Германия

Начнем с примеров.

Примеры SQL UNION

Пример оператора UNION

Напишите запрос для извлечения отдельных городов из таблицы «Сотрудники и проекты».

ВЫБРАТЬ Город ИЗ СОЮЗА сотрудников ВЫБРАТЬ Город ИЗ Проектов ЗАКАЗАТЬ ПО городам

Вывод:

город

Берлин

Дели

Лондон

Мумбаи

Нью-Йорк

Пример оператора UNION ALL

Напишите запрос для извлечения городов из таблицы «Сотрудники и проекты». Здесь должны быть включены повторяющиеся значения.

ВЫБРАТЬ Город ИЗ СОЮЗА сотрудников ВСЕ ВЫБРАТЬ Город ИЗ Проектов ЗАКАЗАТЬ ПО городам

Вывод:

город

Берлин

Берлин

Берлин

Дели

Лондон

Мумбаи

Java найти наибольшее значение в массиве

Мумбаи

Мумбаи

Нью-Йорк

Нью-Йорк

Далее в этой статье давайте разберемся, как использовать предложение UNION с псевдонимами SQL.

UNION с псевдонимами SQL

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

ВЫБРАТЬ «Сотрудник» КАК Тип, Имя, Город, Страна ИЗ СОЮЗ сотрудников ВЫБРАТЬ «Проект», Имя, Город, Страна ИЗ Проектов

Вывод:

Тип имя город Страна
Наемный рабочийЭммаБерлинГермания
Наемный рабочийРахулМумбаиИндия
Наемный рабочийAayraНью-ЙоркИСПОЛЬЗОВАНИЕ
Наемный рабочийДжонЛондонВеликобритания
Наемный рабочийДерекНью-ЙоркИСПОЛЬЗОВАНИЕ
ПроектПроект 1БерлинГермания
ПроектПроект 2МумбаиИндия
ПроектПроект 3ДелиИндия
ПроектПроект 4МумбаиИндия
ПроектПроект 5БерлинГермания

UNION с предложением WHERE

Напишите запрос, чтобы получить отдельные города Индии и их почтовые индексы из таблицы «Сотрудники» и «Проекты».

ВЫБРАТЬ Город, Почтовый индекс, Страна ОТ сотрудников ГДЕ Страна = 'Индия' СОЮЗ ВЫБРАТЬ Город, Почтовый индекс, Страна ОТ Проекты ГДЕ Страна = 'Индия' ЗАКАЗАТЬ по городу

Вывод:

город Почтовый индекс Страна
Дели110006Индия
Мумбаи400015Индия

UNION ALL с предложением WHERE

Напишите запрос для извлечения городов Индии и их почтовых индексов из таблиц «Сотрудники» и «Проекты», где разрешены повторяющиеся значения.

ВЫБРАТЬ Город, Почтовый индекс, Страна ОТ сотрудников ГДЕ Страна = 'Индия' СОЮЗ ВСЕ ВЫБРАТЬ Город, Почтовый индекс, Страну ИЗ проектов ГДЕ Страна = 'Индия' ЗАКАЗАТЬ ПО городу

Вывод:

город Почтовый индекс Страна
Дели110006Индия
Мумбаи400015Индия
Мумбаи400015Индия
Мумбаи400015Индия

Продвигаясь дальше по этой статье, давайте разберемся, как использовать предложения UNION и UNION ALL с JOINS.СОЕДИНЕНИЯ в SQL которые используются для объединения строк из двух или более таблиц на основе связанного столбца между этими таблицами.

UNION с JOINS

Оператор SQL UNION можно использовать с для получения данных из двух разных таблиц. В качестве примера я собираюсь рассмотреть следующую таблицу вместе с таблицей «Сотрудники».

Таблица ProjectDetails

PID Рабочие дни EmpID Стоимость проекта
1112420000
2216335000
3330один60000
4425345000
5521один50 000
ВЫБЕРИТЕ EmpID, имя, CostforProject из сотрудников. ЛЕВЫЙ ПРИСОЕДИНЯЙТЕСЬ к ProjectDetails в Employees.EmpID = ProjectDetails.EmpID UNION. ВЫБРАТЬ EmpID, Name, CostforProject из сотрудников. ПРАВО ПРИСОЕДИНЯЙТЕСЬ к ProjectDetails в Employees.EmpID = ProjectDetails.EmpID.

Вывод:

EmpID имя Стоимость проекта
одинЭмма60000
одинЭмма50 000
2РахулЗНАЧЕНИЕ NULL
3Aayra35000
3Aayra45000
4Джон20000
5ДерекЗНАЧЕНИЕ NULL

UNION ALL с JOINS

Напишите запрос для получения EmpID, Name и CostforProject из таблицы Employees и ProjectDetails, где разрешены повторяющиеся значения.

ВЫБЕРИТЕ EmpID, имя, CostforProject из сотрудников. СЛЕВА ПРИСОЕДИНЯЙТЕСЬ к ProjectDetails в Employees.EmpID = ProjectDetails.EmpID UNION. ВСЕ ВЫБРАТЬ EmpID, Name, CostforProject из сотрудников. ПРАВО ПРИСОЕДИНЯЙТЕСЬ к ProjectDetails в Employees.EmpID = ProjectDetails.EmpID.

Вывод:

EmpID имя Стоимость проекта
одинЭмма60000
одинЭмма50 000
2РахулЗНАЧЕНИЕ NULL
3Aayra35000
3Aayra45000
4Джон20000
5ДерекЗНАЧЕНИЕ NULL
4Джон20000
3Aayra35000
одинЭмма60000
3Aayra35000
одинЭмма50 000

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

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев к «SQL UNION», и я вам еще вернусь.