1、表关系分析:学生表与课程表是多对多的关系,建立一张关联表也就是选课表来将学生表与程表产生关联。
2、数据库表分析:学生表包括学生相关信息,课程表包括课程相关信息,选课表放其他两张表的各一个字段(可以维护唯一性,比如说主键)。
3、实体分析:包含学生和课程两个实体,在每个实体中加入另外一个实体的集合。
select a.sno from sc as a,(select cno from sc where sno=7) as b
where a.cno=b.cno
group by a.sno having count(*)=(select count(*) from sc where sno=7)
不用exists貌似比较麻烦
给你说一下
(select cno from sc where sno=7) as b是查出7号学生选的课程
关联查询是查出和7号学生选过有相同的人
最后group by ……那一堆表示,条数跟7号学生选课的条数一样的,也就是选了7号学生全部课程的人
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)