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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

all any 或 此运算符后面必须跟_用 ANY、SOME 或 ALL 修改的比较运算符

發(fā)布時(shí)間:2024/1/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 all any 或 此运算符后面必须跟_用 ANY、SOME 或 ALL 修改的比较运算符 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

可以用 ALL 或 ANY 關(guān)鍵字修改引入子查詢的比較運(yùn)算符。SOME 是與 ANY 等效的 SQL-92 標(biāo)準(zhǔn)。

通過(guò)修改的比較運(yùn)算符引入的子查詢返回零個(gè)值或多個(gè)值的列表,并且可以包括 GROUP BY 或 HAVING 子句。這些子查詢可以用 EXISTS 重新表述。

以 > 比較運(yùn)算符為例,>ALL 表示大于每一個(gè)值。換句話說(shuō),它表示大于最大值。例如,>ALL (1, 2, 3) 表示大于 3。>ANY 表示至少大于一個(gè)值,即大于最小值。因此 >ANY (1, 2, 3) 表示大于 1。

若要使帶有 >ALL 的子查詢中的行滿足外部查詢中指定的條件,引入子查詢的列中的值必須大于子查詢返回的值列表中的每個(gè)值。

同樣,>ANY 表示要使某一行滿足外部查詢中指定的條件,引入子查詢的列中的值必須至少大于子查詢返回的值列表中的一個(gè)值。

下面的查詢提供一個(gè)由 ANY 修改的比較運(yùn)算符引入的子查詢的示例。它查找定價(jià)高于或等于任何產(chǎn)品子類別的最高定價(jià)的產(chǎn)品。

USE AdventureWorks;

GO

SELECT Name

FROM Production.Product

WHERE ListPrice >= ANY

(SELECT MAX (ListPrice)

FROM Production.Product

GROUP BY ProductSubcategoryID)

對(duì)于每個(gè)產(chǎn)品子類別,內(nèi)部查詢查找最高定價(jià)。外部查詢查看所有這些值,并確定定價(jià)高于或等于任何產(chǎn)品子類別的最高定價(jià)的單個(gè)產(chǎn)品。如果 ANY 更改為 ALL,查詢將只返回定價(jià)高于或等于內(nèi)部查詢返回的所有定價(jià)的那些產(chǎn)品。

如果子查詢不返回任何值,那么整個(gè)查詢將不會(huì)返回任何值。

=ANY 運(yùn)算符與 IN 等效。例如,若要查找 Adventure Works Cycles 生產(chǎn)的所有輪子產(chǎn)品的名稱,可以使用 IN 或 =ANY。

--Using =ANY

USE AdventureWorks;

GO

SELECT Name

FROM Production.Product

WHERE ProductSubcategoryID =ANY

(SELECT ProductSubcategoryID

FROM Production.ProductSubcategory

WHERE Name = 'Wheels')

--Using IN

USE AdventureWorks;

GO

SELECT Name

FROM Production.Product

WHERE ProductSubcategoryID IN

(SELECT ProductSubcategoryID

FROM Production.ProductSubcategory

WHERE Name = 'Wheels')

下面是任一查詢的結(jié)果集:

Name

--------------------------------------------------

LL Mountain Front Wheel

ML Mountain Front Wheel

HL Mountain Front Wheel

LL Road Front Wheel

ML Road Front Wheel

HL Road Front Wheel

Touring Front Wheel

LL Mountain Rear Wheel

ML Mountain Rear Wheel

HL Mountain Rear Wheel

LL Road Rear Wheel

ML Road Rear Wheel

HL Road Rear Wheel

Touring Rear Wheel

(14 row(s) affected)

但是,< >ANY 運(yùn)算符則不同于 NOT IN:< >ANY 表示不等于 a,或者不等于 b,或者不等于 c。NOT IN 表示不等于 a、不等于 b 并且不等于 c。<>ALL 與 NOT IN 表示的意思相同。

例如,以下查詢查找位于任何銷售人員都不負(fù)責(zé)的地區(qū)的客戶。

Use AdventureWorks;

GO

SELECT CustomerID

FROM Sales.Customer

WHERE TerritoryID <> ANY

(SELECT TerritoryID

FROM Sales.SalesPerson)

結(jié)果包含除銷售地區(qū)為 NULL 的客戶以外的所有客戶,因?yàn)榉峙浣o客戶的每個(gè)地區(qū)都由一個(gè)銷售人員負(fù)責(zé)。內(nèi)部查詢查找銷售人員負(fù)責(zé)的所有銷售地區(qū),然后對(duì)于每個(gè)地區(qū),外部查詢查找不在任一地區(qū)的客戶。

由于同一原因,當(dāng)在此查詢中使用 NOT IN 時(shí),結(jié)果將不包含任何客戶。

還可以使用 < >ALL 運(yùn)算符獲得相同的結(jié)果,該運(yùn)算符與 NOT IN 等效。

總結(jié)

以上是生活随笔為你收集整理的all any 或 此运算符后面必须跟_用 ANY、SOME 或 ALL 修改的比较运算符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。