日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

sql查询两个表结果相减_SQL 操作结果集 -并集、差集、交集、结果集排序

發布時間:2024/10/8 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql查询两个表结果相减_SQL 操作结果集 -并集、差集、交集、结果集排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

操作結果集

為了配合測試,特地建了兩個表,并且添加了一些測試數據,其中重復記錄為東吳的人物。

表:Person_1魏國人物

表:Person_2蜀國人物

A、Union形成并集

Union可以對兩個或多個結果集進行連接,形成“并集”。子結果集所有的記錄組合在一起形成新的結果集。

1、限定條件

要是用Union來連接結果集,有4個限定條件。

(1)、子結果集要具有相同的結構。

(2)、字結果集的列數必須相同。

(3)、子結果集對應的數據類型必須可以兼容。

(4)、每個子結果集不能包含order by和compute子句。

2、語法形式

select_statement union [all] select_statement

all代表最終的結果集中將包含所有的行,而不能刪除重復行。

示例:

SELECT Name FROMPerson_1UNION

SELECT Name FROM Person_2

生成的結果為:

注意到重復記錄,孫權與周瑜僅僅顯示了一個。下面來將UNION替換成UNION ALL看看是什么結果:

SELECT Name FROMPerson_1UNION ALL

SELECT Name FROM Person_2

注意到重復記錄,孫權與周瑜出現了兩次,這就是UNION ALL 與 UNION的不同之處。

B、Except形成差集

Except可以對兩個或多個結果集進行連接,形成“差集”。返回左邊結果集合中已經有的記錄,而右邊結果集中沒有的記錄。

限定條件:

1、子結果集要具有相同的結構。

2、子結果集的列數必須相同。

3、子結果集對應的數據類型必須可以兼容。

4、每個子結果集不能包含order by 和 compute子句。

語法形式:

select_statement except select_statement

自動刪除重復行。

示例:

SELECT Name FROMPerson_1EXCEPT

SELECT Name FROM Person_2

結果:

留意到表Person_2有的,孫權周瑜已被去除。

C、InterSect形成交集

InterSect可以對兩個或多個結果集進行連接,形成“交集”。返回左邊結果集和右邊結果集中都有的記錄。

1、限定條件

要是用Except來連接結果集,有4個限定條件。

(1)、子結果集要具有相同的結構。

(2)、子結果集的列數必須相同。

(3)、子結果集對應的數據類型必須可以兼容。

(4)、每個子結果集不能包含order by或compute子句。

2、語法形式

select_statement intersect select_statement

示例:

SELECT Name FROMPerson_1INTERSECT

SELECT Name FROM Person_2

返回的結果如下:

留意到只取兩張表都有的記錄(周瑜,孫權),這就是所謂的交集。

D、結果集的排序

SELECT Name FROMPerson_1INTERSECT

SELECT Name FROMPerson_2ORDER BY Name DESC    --此處的字段名相同了,如果不同,請切記排序列名,只能夠是第一個表的列名

這里只有兩點要注意

1.ORDER BY是對整個運算后的結果排序,并不是對單個數據集。

2.ORDER BY后面排序的字段名稱是第一個數據集的字段名或者別名。

總結

以上是生活随笔為你收集整理的sql查询两个表结果相减_SQL 操作结果集 -并集、差集、交集、结果集排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。