一.把子查询当做一个值
问题提出
要求查询一个学生信息,此学生的id是最高的(未知)。
解决问题
1.查询出最高的id
2.查询id等于最高id的学生信息
实际语句
select * from student where id=(select max(id) from student);
二.把子查询当做一张表
问题提出
假设有三个班的学生成绩信息,要求查出每个班的成绩最高的学生信息。
解决问题
1.查出每个班最高的成绩,及是哪个班的
2.查询每个班成绩等于该班最高成绩的学生信息
实际语句
select * from test3 inner join
(select max(grade) sgrade,source from test3 group by source) b
on test3.grade=b.sgrade and test3.source=b.source;