帶有ANY SOME 或ALL謂詞的子查詢

2021-07-09 01:56:06 字數 680 閱讀 8028

子查詢返回單值時可以用比較運算子,但返回多值時要用any(有的系統用some)或all謂詞修飾符。而使用any或all謂詞時則必須同時使用比較運算子。其語義為:

>  any 大於子查詢結果中的某個值

> all  大於子查詢結果中的所有值

< any 小於子查詢結果中的某個值

< all 小於子查詢結果中的所有值

>=  any  大於等於子查詢結果中的某個值

>= all  大於等於子查詢結果中的所有值

<= any 小於等於子查詢結果中的某個值

<= all 小於等於子查詢結果中的所有值

= any 等於子查詢結果中的某個值

= all 等於子查詢結果中的所有值(通常沒有實際意義)

!=(或<>) any 不等於子查詢結果中的某個值

!=(或<>) all 不等於子查詢結果中的任何乙個值

1、查詢其他系中比電腦科學係某一學生年齡小的學生姓名和年齡

select sname,sage from student where sage < any(select sage from student  where sdept='cs' ) and sdept <> 'cs';

rdbms 執行次查詢時,首先處理子查詢,找出cs系中所有學生的年齡,構成乙個集合,然後處理父查詢,找所有不是cs系且年齡小於該集合中年齡的學生。

帶有ANY或ALL謂詞的子查詢

子查詢返回單值時可以用比較運算子,而使用any或all謂詞時則必須同時使用比較 運算子,其語義為 any 大於子查詢結果的某個值 all 大於子查詢結果中的所有值 any 大於等於子查詢結果中的某個值 all 大於等於子查詢結果中的所有值 any 小於等於子查詢結果中的某個值 all 小於等於子查詢...

帶有exists謂詞的子查詢 巢狀查詢

exists,not exists 1.含義 帶有exists謂詞的子查詢不返回任何實際資料,它只產生邏輯真值true或邏輯假值false。2.查詢所有選修了c1號課程的學生姓名 select sn from s where exists select from sc where sno s.sno...

sql2000巢狀查詢01 帶有IN謂詞的子查詢

在巢狀查詢中,子查詢的結果往往是乙個集合,所以謂詞in是巢狀查詢中最經常使用的謂詞。例37 查詢與 劉晨 在同乙個系學習的學生。1 確定 劉晨 所在系名 select sdept from student where sname 劉晨 2 查詢所有在is系學習的學生 將第 1 步的查詢嵌入到第 2 ...