組合多個查詢

  • UNION

UNION子句/運算符用於將兩個或者更多的 SELECT 語句的運算結果組合起來 (不會返回重複的數據)spa

在使用 UNION 的時候,每一個 SELEC 的列表達式、相同的數據類型,而且他們出現的次序要一致,不過長度不必定要相同,類名也不必定要相同code

語法it

SELECT column1 [, column]
FROM table [,table2]
[WHERE condition]

UNION

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

案例io

 鏈接兩張表table

SELECT ID,NAME,AMOUNT,DATE
FROM CUSTOMERS
LEFT JOIN ORDERS 
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID


UNION


SELECT ID,NAME,AMOUNT,DATE
FROM CUSTOMERS
RIGUT JION ORDERS
ON CUSTOMERS.ID = ORDERS,CUSTOMER_ID

​輸出結果數據類型

  •  UNION ALL

與UNION基本一致,只是它返回重複的結果,而UNION不會 語法

  •  UNION 與 UNION ALL操做以下

 

 

  • INTERSECT

用於組合兩個SELECT 語句,可是返回第一個SELECT 語句中與第二個 SELECT 語句裏同樣的記錄,其餘規則與UNION操做符同樣im

數據

目前MySQL 5.0尚不支持,INTERSECT,但SQL Server和 Oracle全都支持img

  • EXCEPT

但會第一個SELECT 語句裏有但第二個 SELECT 語句沒有的記錄,一樣的,其餘使用規則與UNION一致

MySQL並不支持EXCEPT ,而Oracle中,則使用MINUS操做符來實現一樣的功能

相關文章
相關標籤/搜索