sql Union和Union All的使用方法
更新時間:2009年07月07日 01:56:29 作者:
UNION指令的目的是將兩個SQL語句的結(jié)果合并起來。從這個角度來看, 我們會產(chǎn)生這樣的感覺,UNION跟JOIN似乎有些許類似,因為這兩個指令都可以由多個表格中擷取資料。
UNION的一個限制是兩個 SQL 語句所產(chǎn)生的欄位需要是同樣的資料種類。另外,當(dāng)我們用 UNION這個指令時,我們只會看到不同的資料值 (類似 SELECT DISTINCT)。 union只是將兩個結(jié)果聯(lián)結(jié)起來一起顯示,并不是聯(lián)結(jié)兩個表
UNION 的語法如下: [SQL 語句 1]
UNION
[SQL 語句 2] 假設(shè)我們有以下的兩個表格,
Store_Information 表格 store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
Internet Sales 表格 Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750
而我們要找出來所有有營業(yè)額 (sales) 的日子。要達到這個目的,我們用以下的 SQL 語句:
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales 結(jié)果:
Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999
有一點值得注意的是,如果我們在任何一個 SQL 語句 (或是兩句都一起) 用 "SELECT DISTINCT Date" 的話,那我們會得到完全一樣的結(jié)果。
SQL Union All
UNION ALL 這個指令的目的也是要將兩個 SQL 語句的結(jié)果合并在一起。 UNION ALL 和 UNION 不同之處在于 UNION ALL 會將每一筆符合條件的資料都列出來,無論資料值有無重復(fù)。 UNION ALL 的語法如下: [SQL 語句 1]
UNION ALL
[SQL 語句 2] 我們用和上一頁同樣的例子來顯示出 UNION ALL 和 UNION 的不同。同樣假設(shè)我們有以下兩個表格:
Store_Information 表格 store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
Internet Sales 表格 Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750
而我們要找出有店面營業(yè)額以及網(wǎng)絡(luò)營業(yè)額的日子。要達到這個目的,我們用以下的SQL語句:
SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales 結(jié)果:
Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-08-1999
Jan-07-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999
UNION 的語法如下: [SQL 語句 1]
UNION
[SQL 語句 2] 假設(shè)我們有以下的兩個表格,
Store_Information 表格 store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
Internet Sales 表格 Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750
而我們要找出來所有有營業(yè)額 (sales) 的日子。要達到這個目的,我們用以下的 SQL 語句:
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales 結(jié)果:
Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999
有一點值得注意的是,如果我們在任何一個 SQL 語句 (或是兩句都一起) 用 "SELECT DISTINCT Date" 的話,那我們會得到完全一樣的結(jié)果。
SQL Union All
UNION ALL 這個指令的目的也是要將兩個 SQL 語句的結(jié)果合并在一起。 UNION ALL 和 UNION 不同之處在于 UNION ALL 會將每一筆符合條件的資料都列出來,無論資料值有無重復(fù)。 UNION ALL 的語法如下: [SQL 語句 1]
UNION ALL
[SQL 語句 2] 我們用和上一頁同樣的例子來顯示出 UNION ALL 和 UNION 的不同。同樣假設(shè)我們有以下兩個表格:
Store_Information 表格 store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
Internet Sales 表格 Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750
而我們要找出有店面營業(yè)額以及網(wǎng)絡(luò)營業(yè)額的日子。要達到這個目的,我們用以下的SQL語句:
SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales 結(jié)果:
Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-08-1999
Jan-07-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999
相關(guān)文章
數(shù)據(jù)庫分庫分表是什么,什么情況下需要用分庫分表
這篇文章主要介紹了數(shù)據(jù)庫分庫分表是什么,什么情況下需要用分庫分表,需要的朋友可以參考下2021-03-03
通過Qt連接OpenGauss數(shù)據(jù)庫的詳細教程
本教程介紹如何通過Qt連接OpenGauss數(shù)據(jù)庫,在openGauss所在的root環(huán)境下執(zhí)行相關(guān)步驟,需要Windows下配置ODBC數(shù)據(jù)源,本文給大家介紹的非常詳細,需要的朋友參考下吧2021-06-06
centos虛擬機部署opengauss數(shù)據(jù)庫詳細圖文教程
這篇文章主要給大家介紹了關(guān)于centos虛擬機部署opengauss數(shù)據(jù)庫的相關(guān)資料,文章詳細介紹了在CentOS上安裝和配置openGauss數(shù)據(jù)庫的過程,包括安裝步驟、環(huán)境配置、權(quán)限設(shè)置、預(yù)安裝和正式安裝等,需要的朋友可以參考下2024-12-12

