English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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运算符用于合并两个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