看似简单的问题,你能给出正确答案吗?

hwfwh007 2008-08-30 02:49:30
设有下列关于学生成绩管理系统的所用到的表。
-- 学生表
CREATE TABLE STUDENT(
SNO CHAR (6) NOT NULL, -- 学号
SNAME CHAR (20), -- 姓名
DEPT CHAR (20), -- 系别
AGE SMALLINT -- 年龄
);

-- 课程表
CREATE TABLE COURSE(
CNO CHAR (6) NOT NULL, -- 课程号
CHAME CHAR (20), -- 课程名
HOUR SMALLINT -- 学时
);
-- 选读表
CREATE TABLE S-C(
SNO CHAR (6), -- 学号
CNO CHAR (6), -- 课程号
GRADE SMALLINT -- 成绩
);



[问题] 填充下列SQL程序,使它们完成“检索选读所有课程的学生姓名”查询功能:

SELECT STUDENT.SNAME FROM STUDENT
WHERE _________ (1)
( SELECT*
FROM COURSE
WHERE _________ (2)
(SELECT*
FROM S-C
WHERE _________)) (3)


...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hwfwh007 2008-08-30
  • 打赏
  • 举报
回复
牛人!能否给小弟解释一下这个语句,多谢!
[Quote=引用 2 楼 oracledbalgtu 的回复:]
SQL code
或者这样写:
SELECT STUDENT.SNAME
FROM STUDENT
WHERE NOT EXISTS (SELECT *
FROM COURSE
WHERE NOT EXISTS (SELECT *
FROM S_C
WHERE SNO = STUDENT.SNO
AND CNO = COURSE.CNO));





引用 1 楼 oracledbalgtu 的回复:
SQL code
应该这么写:
SELECT SNAME
FROM STUDENT
WHERE SNO IN (SELECT SNO

[/Quote]
oracledbalgtu 2008-08-30
  • 打赏
  • 举报
回复

或者这样写:
SELECT STUDENT.SNAME
FROM STUDENT
WHERE NOT EXISTS (SELECT *
FROM COURSE
WHERE NOT EXISTS (SELECT *
FROM S_C
WHERE SNO = STUDENT.SNO
AND CNO = COURSE.CNO));



[Quote=引用 1 楼 oracledbalgtu 的回复:]
SQL code
应该这么写:
SELECT SNAME
FROM STUDENT
WHERE SNO IN (SELECT SNO
FROM (SELECT SNO, COUNT(1) CC FROM S_C GROUP BY SNO)
WHERE CC = (SELECT COUNT(*) FROM COURSE))



引用楼主 hwfwh007 的帖子:
设有下列关于学生成绩管理系统的所用到的表。
-- 学生表
CREATE TABLE STUDENT(
SNO CHAR (6) NOT NULL, -- 学号
SNAME CHAR (20), -- 姓名

[/Quote]
oracledbalgtu 2008-08-30
  • 打赏
  • 举报
回复

应该这么写:
SELECT SNAME
FROM STUDENT
WHERE SNO IN (SELECT SNO
FROM (SELECT SNO, COUNT(1) CC FROM S_C GROUP BY SNO)
WHERE CC = (SELECT COUNT(*) FROM COURSE))

[Quote=引用楼主 hwfwh007 的帖子:]
设有下列关于学生成绩管理系统的所用到的表。
-- 学生表
CREATE TABLE STUDENT(
SNO CHAR (6) NOT NULL, -- 学号
SNAME CHAR (20), -- 姓名
DEPT CHAR (20), -- 系别
AGE SMALLINT -- 年龄
);

-- 课程表
CREATE TABLE COURSE(
CNO CHAR (6) NOT NULL, -- 课程号
CHAME CHAR (20), -- 课程名
HOUR SMALLINT -- 学时
);
-- 选读…
[/Quote]

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧