失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 用一条SQL 语句 查询出每门课都大于80 分的学生姓名

用一条SQL 语句 查询出每门课都大于80 分的学生姓名

时间:2023-06-23 01:10:22

相关推荐

用一条SQL 语句 查询出每门课都大于80 分的学生姓名

1老规矩,首先分析题目理清楚思路再做题,上图:

2.如上图,查询每门课都大于80分的学生姓名,那么第一反应这还不简单:

Select Distinct Name From Student Where Sorce>80(错),

但是这样查询出来的结果,只要大于80分科目的学生姓名就会进来(查询结果如下图),

3.我们与1图比对一下,你会发现李四的语文只有76分,张三的数学只有75分,是不符合条件大于80分的

4.正确思路,我们把所有学生当成一个整体,将它划分为成绩大于80分和小于等于80分的两块,为啥2部分SQL语句不行呢?

举个粒子:李四 语文90分,数学75分,那么按照2部分SQL语文符合条件,那么李四就是符合条件的学生,但数学不符合

5.反向思考,先获取小于等于80分的所有学生,修改下SQL语句,

Select Distinct Name From Student Where Sorce<=80

这次只要小于等于80分的学生都会被查出来,不存在漏网之鱼,然后我们再从整体中去排除掉这些学生,不就得到全部大于80分的学生了吗

6.正确的SQL语句:

Select Distinct Name From Student Where Name Not In(Select Distinct Name From Student Where Sorce<=80)

7.还有一种方法,先根据学生姓名分组去除重复学生,再限制该学生最小的一科分数必须要大于80分,如果符合条件,那么该学生所有的科目分数一定都大于80分

Select Name From Student Group By Name Having Min(Sorce)>80

如果觉得《用一条SQL 语句 查询出每门课都大于80 分的学生姓名》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。