简单的嵌套查询
举例:查询考试大于等于90分的学生信息
use 数据库
select * from 学生表
where 学号= (select 学号 from 成绩表 where 成绩>=90)
带in的嵌套查询
举例:查询参加考试的学生信息
use 数据库
select * from 学生表
where 学号 in (select 学号 from 成绩表 )
带not in的嵌套查询
举例:查询没有考试的课程信息
use 数据库
select * from 课程表
where 课程编号 not in
(select 课程编号 from 成绩表 where 课程编号 is not null )
带some的嵌套查询
举例:查询年龄小于平均年龄的所有学生信息。
use 数据库
select * from 学生表
where 年龄<some
(select avg(年龄) from 学生表)
带any的嵌套查询
举例:查询年龄大于平均年龄的所有学生信息。
use 数据库
select * from 学生表
where 年龄>any
(select avg(年龄) from 学生表)
举例:查询年龄不等于平均年龄的所有学生信息。
use 数据库
select * from 学生表
where 年龄 <> any
(select avg(年龄) from 学生表)
带all的嵌套查询
举例:查询成绩没有大于90分的课程信息
use 数据库
select * from 课程表
where 课程编号<>all
(select 课程编号 from 成绩表 where 成绩>90)
带exists的嵌套查询
举例:查询参加考试的学生信息
use 数据库
select * from 学生表
where exists
(select 学号 from 成绩表 where 学生表.学号=成绩表.学号 )
举例:查询没有参加考试的学生信息
use 数据库
select * from 学生表
where not exists
(select 学号 from 成绩表 where 学生表.学号=成绩表.学号 )