SQLite 聯合子子句
SQLite的 UNION 子句/運算子用於合併兩個或多個 SELECT 語句的結果,不傳回任何重複的行。
為了使用UNION,每個SELECT 被選擇的列數必須是相同的,相同數目的列表達式,相同的資料類型,並確保它們有相同的順序,但它們不必具有相同的長度。
語法
UNION 的基本文法如下:
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
UNION
#SELECT column1 [, column2 ]
FROM table1 [, table2
FROM table1 [, table2 ]
[WHERE condition]
UNION
#SELECT column1 [, column2 ]
FROM table1 [, table2
這裡給定的條件根據需要可以是任何表達式。
實例
假設有以下兩個表,(1)COMPANY 表如下:
sqlite> select * from COMPANY;
ID COMPANY;
ID 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 Kim 22 24 Sharpsqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT##########
ID COMPANY;
ID 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 Kim 22 24 Sharp
(2)另一表是DEPARTMENT,如下圖:
ID DEPT ----------- ----------
1 IT Billing 1
21 Finance 7
4 Finance 4
6 以Engineering 6
#現在,讓我們使用SELECT 語句及UNION 子句連接兩個資料表,如下所示:
1 IT Billing 1
21 Finance 7
4 Finance 4
6 以Engineering 6
#現在,讓我們使用SELECT 語句及UNION 子句連接兩個資料表,如下所示:
EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID;這將產生以下結果:
EMP_ID NAME ---- ----------
1 Paul Engineerin
3 Teddy Finance
5 David Finance
7 James James
適用於 UNION 的規則同樣適用於 UNION ALL 運算子。
語法
1 Paul Engineerin
3 Teddy Finance
5 David Finance
7 James James
適用於 UNION 的規則同樣適用於 UNION ALL 運算子。
語法
UNION ALL
的基本文法如下:SELECT column1 [, column2 ]
FROM table1 [, table2 ][WHERE condition]
UNION ALLSELECT column1 [, column2 ]
FROM table1 [, table2 ][WHERE# condition]
ON COMPANY.ID = DEPARTMENT.EMP_ID; o
這裡給定的條件根據需要可以是任何表達式。
實例
現在,讓我們使用SELECT 語句及UNION ALL 子句來連接兩個表,如下所示:
sqlite> SELECT EMP_ID, NAME , DEPT FROM COMPANY INNER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID## COMPANY LEFT OUTER JOIN DEPARTMENT這裡給定的條件根據需要可以是任何表達式。
實例
現在,讓我們使用SELECT 語句及UNION ALL 子句來連接兩個表,如下所示:
sqlite> SELECT EMP_ID, NAME , DEPT FROM COMPANY INNER JOIN DEPARTMENT
這將產生以下結果:
EMP_ID NAME DEPT
------------ --- ---- ----------
1 Paul IT 計費
2 Allen 工程
3 Teddy 工程
4 Mark 財務
5 David 工程
6 Kim財務
7 James 財務
1 Paul IT 帳單
2 Allen 工程
3 Teddy 工程
4 Mark 財務
5 David 工程
6 Kim Kim 財經
7 詹姆士 所產生會計處理
------------ --- ---- ----------
1 Paul IT 計費
2 Allen 工程
3 Teddy 工程
4 Mark 財務
5 David 工程
6 Kim財務
7 James 財務
1 Paul IT 帳單
2 Allen 工程
3 Teddy 工程
4 Mark 財務
5 David 工程
6 Kim Kim 財經
7 詹姆士 所產生會計處理