Учебники

SQLite — предложение UNION

Предложение / оператор SQLite UNION используется для объединения результатов двух или более операторов SELECT без возврата повторяющихся строк.

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

Синтаксис

Ниже приведен основной синтаксис UNION .

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

UNION

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

Здесь данное условие может быть любым выражением, основанным на вашем требовании.

пример

Рассмотрим следующие две таблицы: (а) таблицу КОМПАНИИ следующим образом:

sqlite> select * from COMPANY;
ID          NAME                  AGE         ADDRESS     SALARY
----------  --------------------  ----------  ----------  ----------
1           Paul                  32          California  20000.0
2           Allen                 25          Texas       15000.0
3           Teddy                 23          Norway      20000.0
4           Mark                  25          Rich-Mond   65000.0
5           David                 27          Texas       85000.0
6           Kim                   22          South-Hall  45000.0
7           James                 24          Houston     10000.0

(б) Другая таблица — это ОТДЕЛ следующего содержания:

ID          DEPT                  EMP_ID
----------  --------------------  ----------
1           IT Billing            1
2           Engineering           2
3           Finance               7
4           Engineering           3
5           Finance               4
6           Engineering           5
7           Finance               6

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

sqlite>  SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
         ON COMPANY.ID = DEPARTMENT.EMP_ID
         
         UNION
         
         SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
         ON COMPANY.ID = DEPARTMENT.EMP_ID;

Это даст следующий результат.

EMP_ID      NAME                  DEPT
----------  --------------------  ----------
1           Paul                  IT Billing
2           Allen                 Engineering
3           Teddy                 Engineering
4           Mark                  Finance
5           David                 Engineering
6           Kim                   Finance
7           James                 Finance

СОЮЗ ВСЕ Статья

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

Те же правила, которые применяются к UNION, применяются и к оператору UNION ALL.

Синтаксис

Ниже приведен основной синтаксис UNION ALL .

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

UNION ALL

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

Здесь данное условие может быть любым выражением, основанным на вашем требовании.

пример

Теперь давайте объединим две вышеупомянутые таблицы в нашем операторе SELECT следующим образом:

sqlite>  SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
         ON COMPANY.ID = DEPARTMENT.EMP_ID
         
         UNION ALL

         SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
         ON COMPANY.ID = DEPARTMENT.EMP_ID;

Это даст следующий результат.