раздел SQLite Союзы
ПредложениеUNION SQLite / оператор используется для объединения двух или более ЗЕЬЕСТ, он не возвращает повторяющиеся строки.
Для того, чтобы использовать UNION, число столбцов в каждом выбранном выбран должен быть таким же, такое же количество выражений столбцов, тот же тип данных, и гарантировать, что они имеют тот же порядок, но они не обязательно имеют одинаковую длину.
грамматика
UNION базовый синтаксис выглядит следующим образом :
ВЫБОР column1 [, column2] FROM table1 [, table2] [WHERE условие] СОЮЗ ВЫБОР column1 [, column2] FROM table1 [, table2] [WHERE условие]
Здесь приведены условия, при необходимости может быть любое выражение.
примеров
Предположим, что есть две таблицы ниже, (1) столы компании являются:
SQLite> выберите * от компании; ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА ---------- -------------------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000,0 3 Teddy 23 Норвегия 20000,0 4 Mark 25 Рич-Mond 65000,0 5 David 27 Texas 85000,0 6 Ким 22 Юго-зал 45000,0 7 Джеймс 24 Хьюстон 10000,0
(2) является еще одной таблицы DEPARTMENT, следующим образом:
ID DEPT EMP_ID ---------- -------------------- ---------- 1 Billing 1 2 Инжиниринг 2 3 Финансы 7 4 Машиностроение 3 5 Финансы 4 6 Машиностроение 5 7 Финансы 6
Теперь, давайте использовать оператор SELECT, и положение UNION, чтобы объединить две таблицы, следующим образом:
SQLite> SELECT EMP_ID, ИМЯ, DEPT ОТ КОМПАНИИ INNER JOIN ОТДЕЛ ON COMPANY.ID = DEPARTMENT.EMP_ID СОЮЗ ВЫБОР EMP_ID, ИМЯ, DEPT ОТ КОМПАНИИ LEFT OUTER JOIN ОТДЕЛ ON COMPANY.ID = DEPARTMENT.EMP_ID;
Это дает следующие результаты:
EMP_ID ИМЯ DEPT ---------- -------------------- ---------- 1 Павел IT Billing 2 Аллен Engineerin 3 Teddy Engineerin 4 Марк Финансы 5 David Engineerin 6 Ким Финансы 7 Джеймс Финансы
UNION ALL раздел
UNION ALL оператор используется для объединения результатов двух ЗЕЬЕСТ, включая дублей.
UNION применяет одни и те же правила применяются к оператору UNION ALL.
грамматика
Базовый синтаксис дляUNION ALL выглядит следующим образом :
ВЫБОР column1 [, column2] FROM table1 [, table2] [WHERE условие] UNION ALL ВЫБОР column1 [, column2] FROM table1 [, table2] [WHERE условие]
Здесь приведены условия, при необходимости может быть любое выражение.
примеров
Теперь, давайте использовать ЗЕЬЕСТ и UNION ALL положение, чтобы объединить две таблицы, следующим образом:
SQLite> SELECT EMP_ID, ИМЯ, DEPT ОТ КОМПАНИИ INNER JOIN ОТДЕЛ ON COMPANY.ID = DEPARTMENT.EMP_ID UNION ALL ВЫБОР EMP_ID, ИМЯ, DEPT ОТ КОМПАНИИ LEFT OUTER JOIN ОТДЕЛ ON COMPANY.ID = DEPARTMENT.EMP_ID;
Это дает следующие результаты:
EMP_ID ИМЯ DEPT ---------- -------------------- ---------- 1 Павел IT Billing 2 Аллен Engineerin 3 Teddy Engineerin 4 Марк Финансы 5 David Engineerin 6 Ким Финансы 7 Джеймс Финансы 1 Павел IT Billing 2 Аллен Engineerin 3 Teddy Engineerin 4 Марк Финансы 5 David Engineerin 6 Ким Финансы 7 Джеймс Финансы