用一条SQL语句查询出每门成绩都大于80分的学生姓名
题目:用一条SQL语句查询出每门成绩都大于80分的学生姓名。
先给出结果,然后给出分析。
SELECT name,min(score) FROM table GROUP BY(name) HAVING min(score)>80;
第一步:题目中学生每一门课程的成绩都要大于80分,需要使用聚集函数min()求出成绩的最小值,大于80分才符合题目的要求。
SELECT name, min(score) FROM table1;
这里只能给出学生成绩的最小值
第二步:题目中是每一门成绩,重点在每,需要按学生姓名进行分组,GROUP BY (name)得出学生所有科目的成绩。
第三步:通过having子句筛选出结果。
SELECT name,min(score) FROM table GROUP BY(name) HAVING min(score)>80;