Учебник по MySQL

ГЛАВНАЯ СТРАНИЦА MySQL Введение в MySQL СУРБД MySQL

MySQL SQL

MySQL SQL ВЫБРАТЬ MySQL MySQL ГДЕ MySQL И, ИЛИ, НЕ MySQL ЗАКАЗАТЬ ПО MySQL ВСТАВИТЬ В Значения MySQL NULL ОБНОВЛЕНИЕ MySQL MySQL УДАЛИТЬ ПРЕДЕЛ MySQL MySQL МИН и МАКС MySQL COUNT, СРЕДНЯЯ, СУММА MySQL НРАВИТСЯ Подстановочные знаки MySQL MySQL IN MySQL МЕЖДУ Псевдонимы MySQL MySQL присоединяется ВНУТРЕННЕЕ СОЕДИНЕНИЕ MySQL ЛЕВОЕ СОЕДИНЕНИЕ MySQL MySQL ПРАВОЕ СОЕДИНЕНИЕ ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ MySQL Самостоятельное присоединение к MySQL СОЕДИНЕНИЕ MySQL MySQL СГРУППИРОВАТЬ ПО MySQL ИМЕЕТ MySQL СУЩЕСТВУЕТ MySQL ЛЮБОЙ, ВСЕ MySQL ВСТАВИТЬ ВЫБРАТЬ СЛУЧАЙ MySQL Нулевые функции MySQL Комментарии MySQL Операторы MySQL

База данных MySQL

MySQL Создать БД Удаление базы данных MySQL MySQL Создать таблицу Таблица удаления MySQL Таблица изменений MySQL Ограничения MySQL MySQL не нулевой Уникальный MySQL Первичный ключ MySQL Внешний ключ MySQL Проверка MySQL MySQL по умолчанию Индекс создания MySQL Автоматическое увеличение MySQL Даты MySQL Представления MySQL

Ссылки на MySQL

Типы данных MySQL Функции MySQL

Примеры MySQL

Примеры MySQL Викторина MySQL MySQL-упражнения

Оператор UNION в MySQL


Оператор MySQL UNION

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

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

ОБЪЕДИНЕНИЕ Синтаксис

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

ОБЪЕДИНЕНИЕ ВСЕХ Синтаксис

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

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

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


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

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

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

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

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

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


Пример объединения SQL

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

Пример

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

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


SQL ОБЪЕДИНЕНИЕ ВСЕ Пример

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

Пример

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

СОЕДИНЕНИЕ SQL с ГДЕ

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

Пример

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SQL UNION ВСЕ С WHERE

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

Пример

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

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

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

Пример

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

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