Главная SQL Union
E-mail Печать PDF

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

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

Синтаксис SQL UNION

1
2
3
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

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

Синтаксис SQL UNION ALL

1
2
3
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

Note - Замечание: Имена столбцов в первом запросе всегда совпадают с именами столбцов во втором запросе.

Пример SQL UNION

Взгляните на следующие таблицы:

"Employees_Norway":

E_ID E_Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari

"Employees_USA":

E_ID E_Name
01 Turner, Sally
02 Kent, Clark
03 Svendson, Stephen
04 Scott, Stephen

Итак, мы хотим перечислить "всех" возможные сотрудников в Norway и USA.

Для этого используем такой запрос:

1
2
3
SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA

Результат запроса:

E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen

Note - Замечание: Данная команда не может быть использована для просмотра списка всех работающих в Норвегии и США. В приведенном выше примере у нас есть два сотрудника с одинаковыми именами, и только один из них будет перечислен. Оператор UNION выбирает только отдельные значения.

Пример SQL UNION ALL

Теперь мы хотим получить список всех работающих в Norway и USA:

1
2
3
SELECT E_Name FROM Employees_Norway
UNION ALL
SELECT E_Name FROM Employees_USA

Результат

E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen

Комментарии

 
0 #1 m0m0k0 2011-11-18 19:36 хороший пример, только не соответствует 1NF, отсутствует атомарность. Цитировать
 

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика



Реклама