前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL 案例练习:用一条 SQL 语句查询出每门课都大于 80 分的学生姓名

MySQL 案例练习:用一条 SQL 语句查询出每门课都大于 80 分的学生姓名

作者头像
白鹿第一帅
发布2022-11-30 14:13:54
9520
发布2022-11-30 14:13:54
举报

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

首先需要进行分析:

要查询出每门课程都大于80分的学生姓名,因为一个学生有多门课程,所以会出现下面三种情况。

  • 第一可能所有课程都大于80分。
  • 第二可能有些课程大于80分,另外一些课程少于80分。
  • 第三也可能所有课程都小于80分。

那么我们要查找出所有大于80分的课程的学生姓名,我们可以反向思考,找出课程小于80分(可以找出有一些课程小于80分,所有课程小于80分的学生)的学生姓名再排除这些学生剩余的就是所有课程都大于80分的学生姓名了。

分析完成后,进入数据图形化管理界面创建表并插入数据:

在这里插入图片描述
在这里插入图片描述

建表:

在这里插入图片描述
在这里插入图片描述

插入数据:

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

扩展资料:

除了用distinct还可以用not in 或者 not exists 实现,代码如下:

代码语言:javascript
复制
//not in 
SELECT DISTINCT A.name FROM Student A WHERE A.name not in(SELECT Distinct S.name FROM Student S WHERE S.score <80);

//not exists
SELECT DISTINCT A.name From Student A  where not exists (SELECT 1 From Student S Where  S.score <80 AND S.name =A.name);

在这里插入图片描述
在这里插入图片描述

我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用一条sql语句查询出每门课都大于80分的学生姓名
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档