查询各门成绩大于等于80的学生

学生表
sno name
001 张三

002

李四
003 王五

 

 

 

 

 

课程表
cno name
c01 数据结构
c02 操作系统
c03  计算机组成原理
c04 网络基础

 

 

 

 

 

 

 

成绩表
sno cno score
001 c01 80.00
001 c02 85.00
001 c03 89.00
001 c04 87.00
002 c01 80.00
003 c04 70.00

 

 

 

 

 

 

 

 

select a.sno,a.cno,c.name,b.name,score from score a  join class b
on a.cno=b.cno join student c on a.sno=c.sno where score>=80
and a.sno =(select sno from score group by sno having count(1)=(select count(1)
from class))
 

查询的效果是课程的所有课程被选手选中,且成绩大于等于80分

通过内连接查询可以查询到成绩大于80分的学生,但是不能保证该学生是否选了所有课程。用分组统计求数量的方式和课程数相同时过滤学号

 

你可能感兴趣的:(查询各门成绩大于等于80的学生)