网站黄色在线观看视频,男人和女人操逼有免费的视频吗2018高清,91熟女丨老女人丨高潮丰满,丝袜高潮流白浆潮喷在线播放

中國站

中國站

國際版

聯(lián)系我們

400-002-9968

售前咨詢

售后服務

注冊 登錄

博客 > SQL知識:SQL集合類型及示例詳解

SQL知識:SQL集合類型及示例詳解

  • 標簽:
  • SQL
  • SQL集合
  • SQL集合類型
  • SQL集合示例

瀏覽量:1602次評論:0次

作者:銳成網(wǎng)絡整理時間:2024-05-27 17:04:31

在數(shù)據(jù)庫管理系統(tǒng)中,SQL是一種用于管理和操作數(shù)據(jù)的編程語言。它提供了一種結(jié)構(gòu)化查詢語言,用于創(chuàng)建、修改和管理數(shù)據(jù)庫中的表和數(shù)據(jù)。其中,SQL中的表就代表著事實集合,而其中的查詢就是在集合的基礎上生成的結(jié)果集。那么什么是集合?SQL集合類型有哪些呢?本文將深入探討SQL集合定義、SQL集合類型及示例。

一、集合的定義

集合是由一個和多個元素構(gòu)成的整體,在SQL中的表就代表著事實集合,而其中的查詢就是在集合的基礎上生成的結(jié)果集。SQL的集合包括交集(INTERSECT),并集(UNION),差集(EXCEPT)。

SQL知識:SQL集合類型及示例詳解

二、交集INTERSECT

可以對兩個或多個結(jié)果集進行連接,形成“交集”。返回左邊結(jié)果集和右邊結(jié)果集中都有的記錄,且結(jié)果不重復(這也是集合的主要特性)

交集限制條件

  • 子結(jié)果集要具有相同的結(jié)構(gòu)。
  • 子結(jié)果集的列數(shù)必須相同
  • 子結(jié)果集對應的數(shù)據(jù)類型必須可以兼容。
  • 每個子結(jié)果集不能包含order by 和 compute子句。

交集示例

我們用以下兩個表中的數(shù)據(jù)作為示例

取以上兩個表的交集,我們可以這樣寫SQL

SELECT * FROM  City1
INTERSECT
SELECT * FROM  City2

結(jié)果如下:

其中北京和上海是上面兩個表共有的結(jié)果集。

這和我們的內(nèi)連接(INNER JOIN)有點類似,以上SQL也可以這樣寫

SELECT c1.* FROM City1 c1
INNER JOIN City2 c2
ON c1.Cno=c2.Cno AND c1.Name=c2.Name

結(jié)果與上面結(jié)果相同。

三、并集UNION

可以對兩個或多個結(jié)果集進行連接,形成“并集”。子結(jié)果集所有的記錄組合在一起形成新的結(jié)果集。其中使用UNION可以得到不重復(去重)的結(jié)果集,使用UNION ALL可能會得到重復(不去重)的結(jié)果集。

并集限制條件

  • 子結(jié)果集要具有相同的結(jié)構(gòu)。
  • 子結(jié)果集的列數(shù)必須相同。
  • 子結(jié)果集對應的數(shù)據(jù)類型必須可以兼容。
  • 每個子結(jié)果集不能包含order by 和 compute子句。

UNION示例

還是以上面的City1和City2為例,取兩個表的并集,我們可以這樣寫SQL:

SELECT * FROM  City1
UNION 
SELECT * FROM  City2

結(jié)果如下:

我們看到,北京和上海去掉了重復的記錄,只保留了一次

UNION ALL示例

我們再看看使用UNION ALL會怎么樣?

SELECT * FROM  City1
UNION ALL
SELECT * FROM  City2

結(jié)果如下:

與上面的UNION相比,UNION ALL僅僅是對兩個表作了拼接而已,北京和上海依然在下面重復出現(xiàn)了,而且細心的讀著應該發(fā)現(xiàn)了,UNION還會對結(jié)果進行排序,而UNION ALL不會。

四、差集EXCEPT

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

差集限制條件

  • 子結(jié)果集要具有相同的結(jié)構(gòu)。
  • 子結(jié)果集的列數(shù)必須相同
  • 子結(jié)果集對應的數(shù)據(jù)類型必須可以兼容。
  • 每個子結(jié)果集不能包含order by 和 compute子句。

差集示例

以City1和City2為例,我們想取City1(左表)和City2(右表)的差集,可以這樣寫SQL:

SELECT * FROM  City1
EXCEPT
SELECT * FROM  City2

結(jié)果如下:

我們看到,因為北京和上海在兩個表都存在,差集為了只顯示左表中有的,而右表中沒有的,就把這兩個給過濾掉了。

在本文中,我們詳細介紹了SQL集合的類型,通過示例,我們展示了如何使用這些類型來存儲和處理數(shù)據(jù)。這些集合類型在SQL中扮演了重要的角色,對于開發(fā)者來說是必不可少的。希望本文對你理解和應用SQL集合有所幫助。

重要聲明:本文來自SQL數(shù)據(jù)庫開發(fā),經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有,不代表銳成觀點,轉(zhuǎn)載的目的在于傳遞更多知識和信息。

我的評論

還未登錄?點擊登錄

微信掃碼溝通
微信掃碼溝通

微信掃碼溝通

AI
return head