子查询

将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个。

 使用子查询替换表连接 

/*实现方法一:采用表连接*/
select
stuName fromstuINfo inner join stuMarks                  on stuInfo.stuNo = stuMarks.stuNo                 where writtenExam = 60 go
--方法二:使用子查询
select stuName from stuInfo
        where stuNo = (select stuNo from stuMarks where writtenExam = 60)
go

a.一般来说,表连接都可以用子查询替换,但有的子查询却不能用表连接替换

b.子查询比较灵活,方便 ,常作为增删改查的帅选条件,适合于操纵一个表的数据

c.表连接更适合于查看多表的数据

2.in子查询(在范围内)
用 in 子查询完全可以替代 = 子查询的

3.not in子查询(不在范围内)

4.exists子查询  检测子查询是否返回结果,即子查询返回记录条数非空时为真,否则为假

5.not exists子查询(exists取反)

posted on 2020-01-05 22:37  风天雨乐  阅读(199)  评论(0)    收藏  举报