mysql复杂查询统计总成绩_MySQL-复杂查询

这篇博客探讨了如何在MySQL中进行复杂的查询操作,包括创建性别汇总视图、使用IN、ANY、ALL子查询来查找特定条件的成绩,以及进行标量子查询和关联子查询以解决实际业务问题,如找出成绩高于指定课程平均分的学生。
摘要由CSDN通过智能技术生成

创建视图

/*创建性别汇总视图*/

create view 按照性别汇总(性别,人数) AS

SELECT 性别, COUNT(性别) FROM STUDENT group by 性别;

子查询

/*IN 的子查询*/

/*查询每个课程号里成绩最低的学号*/

SELECT * FROM COURSE;

SELECT 课程号,MIN(成绩) FROM COURSE GROUP BY 课程号;

SELECT 学号,成绩 FROM COURSE WHERE 成绩 IN(SELECT MIN(成绩) FROM COURSE GROUP BY 课程号);

/*ANY 的子查询*/

/*哪些学生的成绩比课程0002的全部成绩里的任何一个高呢?*/

SELECT * FROM COURSE WHERE 课程号='0002';

SELECT DISTINCT 学号 FROM COURSE WHERE 成绩 > ANY (SELECT 成绩 FROM COURSE WHERE 课程号='0002');

/*ALL的子查询*/

SELECT DISTINCT 学号 FROM COURSE WHERE 成绩 > ALL (SELECT 成绩 FROM COURSE WHERE 课程号='0002');

标量子查询

/*查询大于平均成绩学生的学号和成绩*/

SELECT AVG(成绩) FROM COURSE;

SELECT 学号,成绩 FROM COURSE WHERE 成绩>(SELECT AVG(成绩) FROM COURSE);

关联子查询

/*查询出每个课程中大于对应课程平均成绩的学生*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值