mysql学生表和成绩表join_MySQL实现学生表,成绩表,课程表,老师表复杂查询,用到了join等高级特性...

学生表:学号,姓名,出生日期,性别

成绩表:学号,课程号,分数

课程表:课程号,课程名字

老师表:老师号,姓名

# 查询没选课程的学生人数

select count(1) from student s left join score sc on s.sid = sc.sid where sc.cid is null;

#查询选了课程的学生人数

select count(1) from (select s.sid from student s inner join score sc on s.sid = sc.sid group by sc.sid) t;

#查询出每门课程的及格人数和不及格人数

select sc.cid,c.`name`,sum(score >= 60) as 及格人数,sum(score < 60) as 不及格人数 from score sc,course c where sc.cid=c.cid group by sc.cid;

这里,顺便附上一张交集,并集图。这个图完全可以概括所有情况。

1deea86214f6d0124d93f9dc71b2847d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值