1.使用子查询
1.1概述
1. 什么是子查询?
既嵌套在其他查询中的查询
2.为什么使用子查询 ?
以学生表为例,要查询选了两门课程以上的学生姓名,就要用到成绩表去搜索每个学生的科目数量,那么在这个时候,怎么拿到符合条件的学生也就是学号呢?
1.分组检索每个学生的科目选择两个以上的
2 .返回符合条件的学生学号
3.利用学号来查询学生姓名
1.2利用子查询进行过滤
## 1.查询选了两门以上的课程的学生姓名(返回多个)
SELECT studentName FROM student
WHERE studentNo
IN (SELECT studentNo FROM result GROUP BY studentNo
HAVING count(*) >2)
## 2.查询出生时间最小的学生(只返回一个)
SELECT studentName FROM student
WHERE bornDate=(SELECT MIN(bornDate) FROM student);
1.3 注意事项
## 子查询注意事项
1.子查询语句必须放在括号中
2.子查询一般放在条件的右侧
3.任何允许使用表达式的地方都可以使用子查询