又來到了mysql基礎知識系列版塊,今天給大家帶來的是union。
union的作用
union運算子用於組合兩個或更多select語句的結果集。
union使用前提
union中的每個select語句必須具有相同的列數
union 語法
select column_name(s) from table1
union
select column_name(s) from table2;
注釋:預設情況下,union 運算子選擇乙個不同的值。如果允許重複值,請使用 union all。
union all 語法
select column_name(s) from table1
union all
select column_name(s) from table2;
※ 注釋:union結果集中的列名總是等於union中第乙個select語句中的列名。
示例資料庫
以下是"customers" 表中的資料:
選自 "suppliers" 表的資料:
union 例項
以下sql語句從 "customers" 和"suppliers" 表中選擇所有不同的城市(只有不同的值):
例項
select 城市 from customers
union
select 城市 from suppliers
結果:
※ 注釋:union具有排除重覆記錄行的功能。如果一些客戶和**商來自同乙個城市,每個城市將只被列入乙個列表。union將只選擇不同的值,即會排除重複資料只保留乙個。請使用union all選擇重複值!
union all 例項
以下sql語句使用 union all 從 "customers"和"suppliers" 表中選擇所有城市(也是重複的值):
例項
select 城市 from customers
union all
select 城市 from suppliers
結果為:
帶有 where 的union all
以下sql語句使用unionall從"customers"和 "suppliers" 表中選擇所有上海市的城市(也是重複數值):
例項
select 城市, 省份 from customers
where 省份='上海市'
union all
select 城市, 省份 from suppliers
where 省份='上海市'
結果是:
帶有where的union
以下sql語句從「客戶」和「**商」中選擇所有不同的上海城市(只有不同的值):
select 城市, 省份 from customers
where 省份='上海市'
union
select 城市, 省份 from suppliers
where 省份='上海市'
結果如下:
另乙個union示例
以下sql語句列出了所有客戶和**商所在的城市和省份:
select '客戶姓名' as type,城市, 省份
from customers
union
select '**商名稱',城市, 省份
from suppliers;
結果如下圖顯示:
帶有order by的uinon
以下sql語句列出了所有客戶和**商所在的城市和省份,並且對省份進行排序:
select '客戶姓名' as type,城市, 省份
from customers
union
select '**商名稱',城市, 省份
from suppliers
order by `省份`
結果可見:
注意:union和union all的order by子句要寫在最後一條select語句後面,雖然order by似乎只是最後一條select語句的組成部分,但實際上mysql將用它來排序所有select語句返回的所有結果 。
電腦的基礎知識 電腦的基礎知識
電腦的組成部分與其作用 一 軟體系統 軟體系統的組成分別是 作業系統 應用軟體等。其應用軟體是指特定領域開發 並為特定目的服務的一類軟體。而作業系統是位於底層硬碟與使用者之間溝通的橋梁。使用者可以通過作業系統的使用者頁面,輸入命令,實現使用者需求。二 硬體系統 硬體系統是指構成計算機的物理裝置,即由...
電腦的基礎知識 電腦的基礎知識介紹
起尾我們需相識電腦的底子形成著名我們顧到的電腦皆是由 主機 次要部分 輸出裝置 矯飾器 輸出裝置 鍵盤戰滑鼠 三年夜件形成。而主機是電腦的主體,正在主機箱中有 主機板 cpu 記憶體 電源 音卡 音效卡 網絡卡 軟盤 軟碟機 光碟機等軟體。從底子機挨開往道,電腦不妨分為五年夜部分 運算器 記憶體器 ...
C 的基礎知識
一 請填寫bool float,指標變數與 零值 比較的if 語句。if n 0 if n 0 以次類推 請寫出bool flag與 零值 比較的 if 語句 if flag 請寫出 float x 與 零值 比較的 if 語句 const float espon 0.000001 if x esp...