1:标量子查询(相对于多值子查询):
只有标量子查询返回的是单个记录或者不返回,就是有效的子查询。
Ex1:select OrderId From Orderswhere EmployeeId=
(select EmployeeId From employees where lastName like N'Davolio')
将’Davolio’改为'D%'时,这个时候子查询中返回结果为多个值,等号右边此时为多值,查询失败.将’=’改为in谓词.查询才能通过.
2:非相关子查询(嵌套子查询)
一个select...From...Where查询语句块可以嵌套在另一个select...From...Where查询块的Where子句
中,称为嵌套查询。外层查询称为父查询,主查询。内层查询称为子查询,从查询。
子查询可以嵌套多层,子查询查询到的结果又成为父查询的条件。子查询中不能有order by分组语句。
先处理子查询,再处理父查询。
细分如下:
1。简单嵌套查询
查询选修课程号为'101'并且成绩高于学生号为'9501101'的所有学生的成绩.
select * from sclass
where cno='101' and degree>=
(select degree from sclass where sno='9501101'and cno='101')
当子查询跟随在