帶有EXISTS謂詞的子查詢
EXISTS 代表存在量詞 。帶有EXISTS 謂詞的子查詢不傳回任何資料,隻産生邏輯真值“true”或邏輯假值“false”
【例】查詢所有選修了1号課程的學生姓名
select Sname from Student where EXISTS (select * from SC where Sno=Student.Sno AND Cno=1)
若内層查詢結果非空,則外層的where子句傳回真值,否則傳回假值
NOT EXISTS 代表不存在量詞,,使用NOT EXISTS後,若内層查詢結果為空,則外層的where子句傳回真值,否則傳回假值
【例】查詢沒有選修1号課程的學生姓名
select Sname from Student where NOT EXISTS (select * from SC where Sno=Student.Sno AND Cno=1)
摘自資料庫系統概論