English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Frase UNION di SQLite

SQLite UNIONLa clausola/operatore viene utilizzato per combinare i risultati di due o più statement SELECT, senza restituire righe duplicate.

Per utilizzare UNION, ogni SELECT deve avere lo stesso numero di colonne selezionate, lo stesso numero di espressioni di colonna, lo stesso tipo di dati e lo stesso ordine, ma la lunghezza non deve essere la stessa.

语法

Di seguito è riportatoUNIONLa sua sintassi di base.

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

在此,给定条件可以是根据您的要求的任何给定表达式。

示例

Considerare le seguenti due tabelle, (a)La tabella COMPANY è la seguente:

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

(b)Un'altra tabella è il dipartimento (DEPARTMENT)--

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                  Finanza
5           David                  Ingegneria
6           Kim                  Finanza
7           James                 Finanza

UNION ALL子句

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;

这将产生以下结果。

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