萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> SQL UNION 和 UNION ALL語法與實例

SQL UNION 和 UNION ALL語法與實例

SQL UNION 操作符 UNION 操作符用於合並兩個或多個 SELECT 語句的結果集。 請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。

sql union 和 union all語法與實例
/*
sql union 操作符
union 操作符用於合並兩個或多個 select 語句的結果集。

請注意,union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 select 語句中的列的順序必須相同。

sql union 語法
select column_name(s) from table_name1
union
select column_name(s) from table_name2
注釋:默認地,union 操作符選取不同的值。如果允許重復的值,請使用 union all。

sql union all 語法
select column_name(s) from table_name1
union all
select column_name(s) from table_name2
另外,union 結果集中的列名總是等於 union 中第一個 select 語句中的列名。

sql union 和 union all應用實例

union只是將兩個結果聯結起來一起顯示,並不是聯結兩個表
  union 的語法如下: [sql 語句 1]
  union
  [sql 語句 2] 假設我們有以下的兩個表格,
  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
  而我們要找出來所有有營業額 (sales) 的日子。要達到這個目的,我們用以下的 sql 語句:
  select date from store_information
  union
  select date from internet_sales 結果:
  date
  jan-05-1999
  jan-07-1999
  jan-08-1999
  jan-10-1999
  jan-11-1999
  jan-12-1999
  有一點值得注意的是,如果我們在任何一個 sql 語句 (或是兩句都一起) 用 "select distinct date" 的話,那我們會得到完全一樣的結果。
  sql union all
  union all 這個指令的目的也是要將兩個 sql 語句的結果合並在一起。 union all 和 union 不同之處在於 union all 會將每一筆符合條件的資料都列出來,無論資料值有無重復。 union all 的語法如下: [sql 語句 1]
  union all
  [sql 語句 2] 我們用和上一頁同樣的例子來顯示出 union all 和 union 的不同。同樣假設我們有以下兩個表格:
  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
  而我們要找出有店面營業額以及網絡營業額的日子。要達到這個目的,我們用以下的sql語句:
  select date from store_information
  union all
  select date from internet_sales 結果:
  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

 

copyright © 萬盛學電腦網 all rights reserved