- Student(S#,Sname,Sage,Ssex) 学生表
- Course(C#,Cname,T#) 课程表
- SC(S#,C#,score) 成绩表
- Teacher(T#,Tname) 教师表
- 问题:查询选修了所有课的同学的学号、姓名;
- <1>常规写法
- select s#,sname
- from student where s# in
- (select s# from sc a where a.c# in (select c# from course)
- group by s#
- having count(a.c#)=(select count(c#) from course))
- <2>存在量词
- 问题变换:查询这样的学号,姓名,没有一门课程不是他选修的。
- 查询学生:select * from student;
- 查询课程:select * from Course;
- 查询XXX学生选修课程:select * from SC where student.s#=XXX;
- 整合:select s#,sname from student
- not exist (select * from course
- not exist (select * from sc where sc.s#=student.s#
- and sc.c#=course.c#)
小写SQL
最新推荐文章于 2024-07-30 12:38:29 发布