鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ SQLite Unions 子句
SQLite Having 子句
SQLite 運(yùn)算符
SQLite 注入
SQLite Delete 語(yǔ)句
SQLite – Python
SQLite 數(shù)據(jù)類型
SQLite 簡(jiǎn)介
SQLite 創(chuàng)建數(shù)據(jù)庫(kù)
SQLite Vacuum
SQLite Group By
SQLite 日期 & 時(shí)間
SQLite AND/OR 運(yùn)算符
SQLite 刪除表
SQLite Distinct
SQLite Alter 命令
SQLite PRAGMA
SQLite 約束
SQLite 創(chuàng)建表
SQLite Like 子句
SQLite Limit 子句
SQLite Autoincrement
SQLite 子查詢
SQLite – C/C++
SQLite – PHP
SQLite 命令
SQLite Order By
SQLite Select 語(yǔ)句
SQLite Unions 子句
SQLite – Perl
SQLite – Java
SQLite 別名
SQLite 常用函數(shù)
SQLite Explain(解釋)
SQLite NULL 值
SQLite Glob 子句
SQLite 表達(dá)式
SQLite 視圖
SQLite Where 子句
SQLite Truncate Table
SQLite 索引
SQLite Insert 語(yǔ)句
SQLite 安裝
SQLite Indexed By
SQLite 分離數(shù)據(jù)庫(kù)
SQLite 觸發(fā)器
SQLite 語(yǔ)法
SQLite Joins
SQLite Update 語(yǔ)句
SQLite 附加數(shù)據(jù)庫(kù)
SQLite 事務(wù)

SQLite Unions 子句

SQLite的 UNION 子句/運(yùn)算符用于合并兩個(gè)或多個(gè) SELECT 語(yǔ)句的結(jié)果,不返回任何重復(fù)的行。

為了使用 UNION,每個(gè) SELECT 被選擇的列數(shù)必須是相同的,相同數(shù)目的列表達(dá)式,相同的數(shù)據(jù)類型,并確保它們有相同的順序,但它們不必具有相同的長(zhǎng)度。

語(yǔ)法

UNION 的基本語(yǔ)法如下:

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

    UNION

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

這里給定的條件根據(jù)需要可以是任何表達(dá)式。

實(shí)例

假設(shè)有下面兩個(gè)表,(1)COMPANY 表如下所示:

    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

(2)另一個(gè)表是 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

現(xiàn)在,讓我們使用 SELECT 語(yǔ)句及 UNION 子句來(lái)連接兩個(gè)表,如下所示:

    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;

這將產(chǎn)生以下結(jié)果:

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

UNION ALL 子句

UNION ALL 運(yùn)算符用于結(jié)合兩個(gè) SELECT 語(yǔ)句的結(jié)果,包括重復(fù)行。

適用于 UNION 的規(guī)則同樣適用于 UNION ALL 運(yùn)算符。

語(yǔ)法

UNION ALL 的基本語(yǔ)法如下:

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

    UNION ALL

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

這里給定的條件根據(jù)需要可以是任何表達(dá)式。

實(shí)例

現(xiàn)在,讓我們使用 SELECT 語(yǔ)句及 UNION ALL 子句來(lái)連接兩個(gè)表,如下所示:

    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;

這將產(chǎn)生以下結(jié)果:

    EMP_ID      NAME                  DEPT
    ----------  --------------------  ----------
    1           Paul                  IT Billing
    2           Allen                 Engineerin
    3           Teddy                 Engineerin
    4           Mark                  Finance
    5           David                 Engineerin
    6           Kim                   Finance
    7           James                 Finance
    1           Paul                  IT Billing
    2           Allen                 Engineerin
    3           Teddy                 Engineerin
    4           Mark                  Finance
    5           David                 Engineerin
    6           Kim                   Finance
    7           James                 Finance
上一篇:SQLite – Java下一篇:SQLite 簡(jiǎn)介