SQL Sever 子查询与嵌套查询
生活随笔
收集整理的這篇文章主要介紹了
SQL Sever 子查询与嵌套查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據庫表
1.帶 in 的嵌套查詢
查詢Student表 并且 Sno 在 SC表中有
select * from Student where Sno in(select Sno from SC)2.帶 not in 的嵌套查詢
查詢學生表中 Sno在SC表不存在的學生
select * from Student where Sno not in (select Sno from SC)偽代碼
查詢學生表 學生表中的Sno 不在SC表中3.帶 some 的嵌套查詢
SQL支持3中定量比較謂詞:some、any 和 all。他們都是判斷是否任何或全部返回值都滿足搜索要求的。其中,some和any謂詞是存在量的,只注重是否有返回值滿足搜索要求。這兩謂詞含義相同,可以替換使用。
查詢學生表中,年齡小于平均值的學生
select * from Student where Sage < some (select avg(Sage) from Student)偽代碼
查詢學生表 年齡小于 (查詢 學生表 年齡平均值)4. 帶 all 的嵌套查詢
all 謂詞的使用方法和 any 或者 some 謂詞一樣,也是把列值與子查詢結果進行比較,但是它不要求任意結果值得列值為真,而是要求所有列的查詢結果都為真,否則就不返回行。
查詢課程表 并且成績 沒有 有 成績超過 90分的課程
select * from Course where Cno <> all (select Cno from SC where grade > 90)偽代碼
查詢課程表 不存在的課程號在 (查詢有分數>90分的課程號)5. 帶exists的嵌套查詢
exists謂詞只注重子查詢結果是否返回行。如果子查詢返回一個或多個行,謂詞返回為真值,否則為假。
exists搜索條件并不真正使用子查詢的結果。他僅測試子查詢是否產生任何結果。
查詢沒有參加考試的學生
select * from Student where not exists (select Sno from SC where Student.Sno = SC.Sno)偽代碼
查詢學生表 不存在 (查詢 Student.Sno = SC.Sno的結果)總結
以上是生活随笔為你收集整理的SQL Sever 子查询与嵌套查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows配置maven环境并换源
- 下一篇: SQL Sever联接查询