社区
C#
帖子详情
"列出选修了学生S1所选全部课程的学生学号"的SQL怎么写?
yanransoft
2004-04-04 10:01:36
SC表:
s# c# score
---- ---- -----------
s1 c3 80
s1 c8 145
s2 c3 100
s2 c6 90
s2 c8 95
s3 c4 90
s3 c8 100
s4 c1 80
s4 c4 90
s5 c1 90
s5 c9 90
s7 c8 90
...全文
336
10
打赏
收藏
"列出选修了学生S1所选全部课程的学生学号"的SQL怎么写?
SC表: s# c# score ---- ---- ----------- s1 c3 80 s1 c8 145 s2 c3 100 s2 c6 90 s2 c8 95 s3 c4 90 s3 c8 100 s4 c1 80 s4 c4 90 s5 c1 90 s5 c9 90 s7 c8 90
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2004-04-04
打赏
举报
回复
:)
yanransoft
2004-04-04
打赏
举报
回复
结果应该只有s2和s1.
upto(阿球)的第一行加一个distince就对了!
「已注销」
2004-04-04
打赏
举报
回复
不知道这个对不对?
SELECT a.s#
FROM SC a
WHERE NOT EXISTS (
SELECT * FROM SC b
WHERE b.s#='s1' AND NOT EXISTS (
SELECT *
FROM SC C
WHERE C.s#=a.s# AND c.c#=b.c# )
}
yanransoft
2004-04-04
打赏
举报
回复
结果应该只有s2.
「已注销」
2004-04-04
打赏
举报
回复
上面是错误的,等等...
liuhaixue
2004-04-04
打赏
举报
回复
SELECT DISTINCT s#
FROM sc
WHERE (c# IN
(SELECT c#
FROM sc
WHERE (s# = 's1')))
swdinoho
2004-04-04
打赏
举报
回复
select [distinct} s#
from SC
where C# in
( select C# from SC where S#='s1' )
「已注销」
2004-04-04
打赏
举报
回复
SELECT DISTINCT a.s# FROM SC a
WHERE a.c# IN (
SELECT b.c# FROM SC b
WHERE b.s# = 's1'
}
yanransoft
2004-04-04
打赏
举报
回复
如果s1选修了c1,c2,c3课程,
列出所有也选修了c1,c2,c3课程的所有学生(包括s1)。
strawren
2004-04-04
打赏
举报
回复
楼主,偶不是很明白你在说什么呢。
是不是要这个呀
select * from SC where s#='S1'
SQL
多表查询(推荐文档).ppt
SQL
多表查询(推荐文档).ppt
SQL
语言嵌套查询和数据更新操作
数据库原理实验指导书 实验名称:试验一:
SQL
语言嵌套查询和数据更新操作 所属
课程
:数据库原理 实验类型:设计型实验 实验类别:基础□ 专业基础√ 专业□ 实验学时:4学时 一、实验目的 1.熟悉和掌握对数据表中数据的查询操作和
SQL
命令的使用,学会灵活熟练的使用
SQL
语句的各种形式; 2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算); 3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用; 4.加深理解表的定义对数据更新的作用 二、预习与参考 1.熟悉
SQL
SERVER 工作环境; 2.连接到
学生
-
课程
数据库 3.复习对表中数据查询的
SQL
语言命令; 4.复习对表中数据的插入、修改和删除的
SQL
语言命令。 三、实验要求(设计要求) 针对教材例子,通过
SQL
SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。 四、实验方法及步骤 1.在表S、C、SC上进行简单查询; 2.在表S、C、SC上进行连接查询; 3.在表S、C、SC上进行嵌套查询; 4.使用聚合函数的查询; 5.对数据的分组查询; 6.对数据的排序查询。 7. 将数据插入当前数据库的表S、C、SC中; A:用SQL命令形式 B:用
SQL
SERVER提供的企业管理器以交互方式进行 8.将以上插入的数据分别以.
SQL
文件和.txt文件的形式保存在磁盘上; 9.修改表S、C、SC中的数据; A:用SQL命令形式 B:用
SQL
SERVER提供的企业管理器以交互方式进行 10.删除表S、C、SC中的数据。 A:用SQL命令形式 B:用
SQL
SERVER提供的企业管理器以交互方式进行 五、实验内容 在表S,C,SC上完成以下操作: 1. 查询
学生
的基本信息; 2. 查询“CS”系
学生
的基本信息; 3. 查询“CS”系
学生
年龄不在19到21之间的
学生
的
学号
、姓名; 4. 找出最大年龄; 5. 找出“CS”系年龄最大的
学生
,显示其
学号
、姓名; 6. 找出各系年龄最大的
学生
,显示其
学号
、姓名; 7. 统计“CS”系
学生
的人数; 8. 统计各系
学生
的人数,结果按升序排列; 9. 按系统计各系
学生
的平均年龄,结果按降序排列; 10. 查询每门
课程
的
课程
名; 11. 查询无先修课的
课程
的
课程
名和学时数; 12. 统计无先修课的
课程
的学时总数; 13. 统计每位
学生
选修
课程
的门数、学分及其平均成绩; 14. 统计
选修
每门
课程
的
学生
人数及各门
课程
的平均成绩; 15. 找出平均成绩在85分以上的
学生
,结果按系分组,并按平均成绩的升序排列; 16. 查询
选修
了“1”或“2”号
课程
的
学生
学号
和姓名; 17. 查询
选修
了“1”和“2”号
课程
的
学生
学号
和姓名; 18. 查询
选修
了
课程
名为“数据库系统”且成绩在60分以下的
学生
的
学号
、姓名和成绩; 19. 查询每位
学生
选修
了
课程
的
学生
信息(显示:
学号
,姓名,
课程
号,
课程
名,成绩); 20. 查询没有
选修
课程
的
学生
的基本信息; 21. 查询
选修
了3门以上
课程
的
学生
学号
; 22. 查询
选修
课程
成绩至少有一门在80分以上的
学生
学号
; 23. 查询
选修
课程
成绩均在80分以上的
学生
学号
; 24. 查询
选修
课程
平均成绩在80分以上的
学生
学号
; 25. 选做:针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。 26. 将数据分别插入表S、C、SC; 27. 将表S、C、SC中的数据分别以.
SQL
文件和.txt文件的形式保存在磁盘上。 28. 在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况) 29. 将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。 30. 如果要在表SC中插入某个
学生
的选课信息(如:
学号
为“200215121”,
课程
号为“c123”,成绩待定),应如何进行? 31. 求各系
学生
的平均成绩,并把结果存入数据库; 32. 将“CS”系全体
学生
的成绩置零; 33. 删除“CS”系全体
学生
的选课记录; 34. 删除
学号
为“
S1
”的相关信息; 35. 将
学号
为“
S1
”的
学生
的
学号
修改为“S001”; 36. 把平均成绩大于80分的男同学的
学号
和平均成绩存入另一个表S——GRADE(SNO,AVG——GRADE); 37. 把
选修
了
课程
名为“数据结构”的
学生
的成绩提高10%; 38. 把
选修
了“C2”号
课程
,且成绩低于该门
课程
的平均成绩的
学生
的成绩提高5%; 39. 把
选修
了“C2”号
课程
,且成绩低于该门
课程
的平均成绩的
学生
成绩删除掉; 40. 选做:将数据插入SPJ数据库中的四个表S,P,J,SPJ中,并以.
SQL
文件和.txt文件的形式保存在磁盘
sql
数据库试题.doc
sql
数据库试题.doc
SQL
语句创建
学生
信息数据库表的示例.docx
。
SQL
案例题练习.pdf
。。。
C#
111,116
社区成员
642,553
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章