level 11
表如下
Student(id,Sname,Sage,Ssex) 学生表
Course(cid,Cname,Tid) 课程表
SC(id,cid,score) 成绩表
Teacher(Tid,Tname) 教师表
2019年02月16日 05点02分
1
level 11
1、 查询学过“叶平”老师所教的所有课的同学的学号、姓名;
select id,Sname
from Student
where id in (select id from SC ,Course ,Teacher where SC.cid=Course.cid and Teacher.Tid=Course.Tid and Teacher.Tname='叶平' group by id having count(SC.cid)=(select count(cid) from Course,Teacher where Teacher.Tid=Course.Tid and Tname='叶平'));
2019年02月16日 05点02分
2
level 11
从group by 开始的这些语句有什么用啊 不写结果一样啊
2019年02月16日 05点02分
3
这是一个分组
2019年02月17日 18点02分
level 7
你可以用我的这个SQL去实现你这个需求
SELECT s1.id,s1.Sname
FROM Student s1 LEFT JOIN SC sc ON s1.id = sc.id
LEFT JOIN Course c ON sc.cid = c.cid
LEFT JOIN Teacher t ON c.Cname = t.Tname AND t.Tname = '叶平';
2019年02月16日 06点02分
5