程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> sql Union和Union All的使用方法

sql Union和Union All的使用方法

編輯:更多數據庫知識
UNION的一個限制是兩個 SQL 語句所產生的欄位需要是同樣的資料種類。另外,當我們用 UNION這個指令時,我們只會看到不同的資料值 (類似 SELECT DISTINCT)。 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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved