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

2021-06-20 02:27:05 字數 1411 閱讀 9984

在巢狀查詢中,子查詢的結果往往是乙個集合,所以謂詞in是巢狀查詢中最經常使用的謂詞。

例37:查詢與「劉晨」在同乙個系學習的學生。

(1)確定「劉晨」所在系名

select  sdept

from student

where sname='劉晨'

(2)查詢所有在is系學習的學生

將第(1)步的查詢嵌入到第(2)步的查詢的條件中,語句如下:

select sno,sname,sdept

from student

where sno in

(select sdept

from student

where sname ='劉晨')

也可用自身連線來完成:

select s1.sno,s1.sname,s1.sdept

from student s1,student s2

where s1.sdept =s2.sdept and s2.sname ='劉晨'

本例中父查詢和子查詢中均引用了student表,可以像身身連線那樣用別名將父查詢中的student與錶子查詢中的student表區分開

例38:查詢選修了課程名為「資訊系統」的學生學號和姓名

select sno,sname

from student

where sno in

(select sno

from sc

where cno in

(select cno

from course

where cname='資訊系統'))

本查詢同樣可以用連線查詢實現:

select student.sno,sname

from student,sc,course

where student.sno= sc.sno and

sc.cno= course.cno and

course.cname='資訊系統'

上面的兩個例子中的各個子查詢都只執行一次,其結果用於父查詢。子查詢的查詢條件不依賴於父查詢,這類子查詢稱為不相關子查詢。這是最簡單的一類子查詢

sql2000 基本刪除,插入,查詢

insert into table1 name subject,class values 我的名字 英語 3 select from table1 insert into table1 subject,class values 英語 3 update table1 set name where is...

sql2000儲存過程

自 http www.cnblogs.com a13971240 archive 2008 10 22 1316747.html create proc getdataset tablelist varchar 200 搜尋表的字段,比如 id,datatime,job 用逗號隔開 tablenam...

SQL 2000如何分頁

網上搜的sql 2000如何分頁,程式中採用的是方案二的方法,如下 應乙個朋友的要求,貼上收藏的sql常用分頁的辦法 表中主鍵必須為標識列,id int identity 1,1 1.分頁方案一 利用not in和select top分頁 語句形式 select top 頁記錄數量 from 表名 ...