`
ruilinruirui
  • 浏览: 1049109 次
文章分类
社区版块
存档分类
最新评论

求出选修了所有课程的学生姓名

 
阅读更多

求出选修了所有课程的学生姓名

学生表 S(SNO int pk,SN varchar(8)) --SNO为学号 ,SN为学生姓名。
课程表 C(CNO int pk,CN varchar(50)) --CNO为课程号,CN为课程名
选修表 SC(SNO int pk,CNO int pk,SCORE number(7,2),fk(SNO,CNO) ) --SCORE为成绩。

--以下语句为求出选修了所有课程的学生姓名.
SELECT SN
FROM s
WHERE (NOT EXISTS
(SELECT *
FROM c
WHERE NOT EXISTS
(SELECT *
FROM sc
WHERE SNO = S.SNO AND CNO = C.CNO)))

解释:没有任何一门课程不再该生所选的课程中。

小朋友不会原因是不知道字段的访问规则,join 的查询中后面的表可以用前面表中的字段作为条件。在嵌套查询中子查询可以使用父查询表中的字段作为条件。

类似的题型还有:

1、求至少选修了学生学号为S003所选修的所有课程的学生姓名和学号。

SELECT distinct SN,SNo <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

FROM SC SC2

WHERE (NOT EXISTS

(SELECT CNO

FROM SC SC1

WHERE SNO='S003' and CNO not in

(select Cno from Sc where SC2.SNO=Sc.SNo)))

解释:

没有任何一门学号为S003学生所选修的课程编号不在该生所选的课程的编号中中。

注意此处该生与S003不是同一个意思。该生泛指符合条件的学生。


分享到:
评论

相关推荐

    C++程序设计——学生选修课程系统

    能统计学生人数、课程门数、选修某门课程学生的相关信息。 (4)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。 (5)退出功能 扩展功能 (1)编辑功能:可根据查询结果对相应的记录进行修改,修改时...

    10、创建视图,显示每名学生的姓名、选修的课程门数、总周学时数、总学分数和加权平均分的查询,

    10、创建视图,显示每名学生的姓名、选修的课程门数、总周学时数、总学分数和加权平均分的查询,

    学生选修课程序设计原代码(电信QQ930210528)

    选课时学生需要提供:姓名、学号、班级等信息实现功能:具有选择某门课程功能、退选某门课程功能、按照课程浏览选课学生名单功能、按照学生姓名和学号查询某人的选修课程情况功能、根据选修课程的选修条件自动排除不...

    数据库实验交互模式下的DML sql查询

    (12)找出选修了学号为“98001”的学生所选修所有课程的学生姓名 (13)找出不选修任何课程的学生 (14)找出至少选修了学号为“98002”的学生所选修的一门课的学生姓名 (15)找出至少选修了一门其先行课号为“5”...

    C++学生选修课程系统 课程设计

    这段代码实现了一个学生选修课程管理系统,包括以下功能模块: 1. 录入课程信息:用户可以从键盘或文件录入课程信息。 2. 课程信息管理:用户可以添加或删除课程信息。 3. 录入学生信息:用户可以从键盘或文件录入...

    学生选修课程系统

    本课程设计的目的是设计一个学生选修课程系统的程序,用来实现对学生成绩的管理,其中包括学生信息的文件读入、添加、查询、保存、删除以及相应的课程信息管理。程序设计了两个类,其中一个包含学生的学号、姓名、...

    sql server数据库实验代码

    10.统计每位学生选修课程的门数、学分及其平均成绩; 11. 统计选修每门课程的学生人数及各门课程的平均成绩; 12. 找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列; 13. 查询选修了“1”...

    数据库的简单查询和连接查询实验

     求选修课程1且成绩在80-90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。  求数学系或计算机系姓张的学生的信息。  查看选修了课程、但没有成绩学生的学号、姓名、课程号和所在系部。  查询学生的学号、...

    大学生数据库实验.zip

    (4) 查询选修了课程的学生姓名。 (5) 查询所有学生的信息和所选修的课程。 (6) 查询已被选修的课程的情况和所有课程的名字。 (7) 列出学生所有可能的选修情况。 (8) 查找计算机系的学生选修课程数大于2 的学生的...

    studentcoursesystem180140.zip

    实现根据课程名称查询选修该课程的学生的接口,输出学生的(编号,姓名,性别,系部)字段,分页查询并按学生编号升序排序。 实现根据课程名称查询选修该课程的选课信息的接口,输出学生编号,姓名,性别,系部,...

    学生选课系统.zip

    需求: 1、 课程信息:课程号、课程名称、上课教师、...c) 选课管理:设置学生选修某课程,或取消某课程的选修; d) 数据统计:可分别按学生和课程统计选课情况; 4、 考虑各类异常,确保系统不会因用户误操作而崩溃。

    实验2-数据复杂查询实验指南

    查询年龄在20至23之间的学生姓名、系别和年龄; 查询所有姓刘的学生的学号、姓名和年龄; 查询学习1号课程的学生最高分数; 查询各个课程号与相应的选课人数; 查询选修3号课程且成绩在90分以上的所有学生; 查询...

    [详细完整版]SQL数据库.doc

    2、复杂数据查询 (1)查询所有同学的选课及成绩情况 ,要求显示出学生的学号、姓名、课程号及课程成绩。 select 选修....学号,学生姓名 (6)查询所有选修了课程但未参加考试的所有同学及相应的课程,要

    查询至少学习了1号课程和2号课程的学生的学号,姓名的八种写法

    查询至少学习了1号课程和2号课程的学生的学号,姓名的八种写法,是非常经典的

    学生选修课程管理系统用C语言实现(大学生课设作业版)

    题目5:学生选修课程管理系统 设计目标:设计一个学生选修课程管理系统,用C语言实现。对该系统的要求如下: 一、需求描述: 系统角色:学生、教师、系统管理员。其功能分别描述如下: 1、学生:普通用户,能够完成...

    数据库基础实验的实验报告附图

    13) 查询选修课程1的学生集合和选修2号课程学生集合的差集 14) 查询李丽同学不学的课程的课程号 15) 查询选修了3号课程的学生平均年龄 16) 求每门课程学生的平均成绩 17) 统计每门课程的学生选修人数...

    查询数据库中所有有成绩的学生的学号和课程号

    查询选修c2号课程及成绩在90分以上的所有学生的信息 查询每个学生的学号、姓名、选修的课程名及成绩。 查询选修了C2或C4课程的学生的学号,姓名和课程号 检索至少选修了C1和C4的学生的学号。

    数据库原理A实验报告二(实验报告二)

    一.实验题目 (1)数据库单表查询和多表连接查询 二.实验要求 (1)掌握单表查询SELECT、FROM、WHERE的用户,特别要掌握比较运算符、逻辑运算符的...(3)查询学生的学号、姓名、选修课程的名称和成绩 (4)查询选

    MYSQL题目练习

    --5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩 --5.1、查询所有有成绩的SQL。 --5.2、查询所有(包括有成绩和无成绩)的SQL。 --6、查询"李"姓老师的数量 --7、查询学过"张三"老师授课的同学...

    C++课程设计实验报告——学生管理系统

    4. 每个班级每门课程的成绩可以从学生的成绩总表提取出子表并存储成一个文本文件,以便在windows的notebook或者Microsoft word下打印,规定该文本文件名由班级号和课程名拼音字符串构成.输入班级号和课程名字符串后...

Global site tag (gtag.js) - Google Analytics