1.嵌套查询:将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询成为嵌套查询;
(子查询的select语句中不能使用order;order by子句只能对最终查询结果排序。)
例子:
1 --查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。 2 select * from SCORE where DEGREE > (select DEGREE from SCORE where SNO='109' and CNO='3-105')
2.子查询:子查询可以出现在from子句中,这时子查询生成的临时派生表,称为主查询的查询对象
1 --查询所有选修了1号课程的学生姓名 (当然也可以使用嵌套查询) 2 select Sname from Student,(select * from SC where cno='1') SC1 where Student.sno=SC1.sno
子查询可以嵌套在INSERT语句中用以生成要插入的批量数据
1 --对每个系,求学生的平均年龄,再把结果插入Dept_age(Sdept,Avg_age)中 2 insert into Dept_age(Sdept,Avg_age) 3 select Sdept.AVG(Sage) 4 from Student 5 group by Sdept