1.子查询
子查询就是嵌套在查询语句内的查询,后续查询可以使用先前查询的结果,用以代替暂存表或变量存储先前查询结果。 子查询的外层为较高的层级,以下称之为“主查询”。派生表是子查询的一个特殊情况,他是应用于FROM子句中的 SELECT完整命令,以数据表别名引用
子查询就是嵌套在查询语句内的查询,后续查询可以使用先前查询的结果,用以代替暂存表或变量存储先前查询结果。
子查询的外层为较高的层级,以下称之为“主查询”。派生表是子查询的一个特殊情况,他是应用于FROM子句中的
SELECT完整命令,以数据表别名引用此子查询时,同使用一般数据表一样。
子查询以内外层是否进行连接(JOIN)可分成嵌套子查询和相关子查询两种类型。
2.嵌套子查询
嵌套子查询一般可以分为:返回单值的子查询 和 返回一个列表的子查询 。
例如:查询选修课程号为’101’并且成绩高于学生号为’9501101’的所有学生的成绩.
select * from sclass
where cno='101' and degree>=
(select degree from sclass where sno='9501101'and cno='101')
当子查询跟随在 =、!=、<、<=、>、>= 之后, 子查询的返回值只能是一个, 否则应在外层where子句中用一个in限定符,即要返回多个值,要用in或者not in。
例如:查询现有部门的所有员工
<