MySQL-子查询

一.把子查询当做一个值

问题提出

要求查询一个学生信息,此学生的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;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/PreyHard/article/details/85652060
今日推荐