题目1:为管理岗位业务培训信息,建立3个表
S (SNO,SNAME,SDD,SAGE) SNO,SNAME,SDD,SAGE 分别代表学号、学员姓名、所属单位、学员年龄
C (CNO,CNAME ) CNO,CNAME 分别代表课程编号、课程名称
SC(SNO,CNO,SCORE ) SNO,CNO,SCORE 分别代表学号、所选修的课程编号、学习成绩
1. 使用标准SQL嵌套语句查询选修课程名称为‘税收基础’的学员学号和姓名
SELECT SNO,SDD FROM S
WHERE SNO IN(SELECT SNO FROM C,SC WHERE C.CNO=SC.CNO AND CNAME='税收基础');
2. 使用标准SQL嵌套语句查询选修课程编号为‘C2’的学员姓名和所属单位
SELECT S.SNO,S.SDD FROM S,SC WHERE S.NOSNO=SC.SNO AND SC.CNO='C2';
3. 使用标准SQL嵌套语句查询不选修课程编号为‘C5’的学员姓名和所属单位
SELECT SNO,SDD FROM S WHERE SNO NOT IN(SELECT SNO FROM SC WHERE CNO='C5') ;
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
SELECT SNO,SDD FROM S
WHERE SNO IN(
SELECT SNO FROM SC
RIGHT JOIN C
ON SC.CNO=C.CNO
GROUP BY SNO
HAVING COUNT(*)=COUNT(SNO));
5. 查询选修了课程的学员人数
SELECT 学员人数=COUNT(DISTINCT SNO) FROM SC;
6. 查询选修课程超过5门的学员学号和所属单位
SELECT SN,SD FROM S
WHERE SNO IN(
SELECT SNO FROM SC
GROUP BY SNO
HAVING COUNT(DISTINCT CNO)>5) ;
题目2:已知关系模式
582



被折叠的 条评论
为什么被折叠?



