SQL Server 练习题1
来源:互联网 发布:怎么在防火墙打开端口 编辑:程序博客网 时间:2024/05/01 21:16
题目1
问题描述:
为管理岗位业务培训信息,建立3个表:
S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (C#,CN ) C#,CN 分别代表课程编号、课程名称
SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
要求实现如下5个处理:
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
5. 查询选修了课程的学员人数
6. 查询选修课程超过5门的学员学号和所属单位
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM C,SC
WHERE C.[C#]=SC.[C#]
AND CN=N'税收基础')
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
--实现代码:
SELECT S.SN,S.SD FROM S,SC
WHERE S.[S#]=SC.[S#]
AND SC.[C#]='C2'
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] NOT IN(
SELECT [S#] FROM SC
WHERE [C#]='C5')
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM SC
RIGHT JOIN C ON SC.[C#]=C.[C#]
GROUP BY [S#]
HAVING COUNT(*)=COUNT(DISTINCT [S#]))
5. 查询选修了课程的学员人数
--实现代码:
SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC
6. 查询选修课程超过5门的学员学号和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM SC
GROUP BY [S#]
HAVING COUNT(DISTINCT [C#])>5)
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server 练习题1
- SQL Server练习题2
- SQL Server 练习题3
- SQL Server练习题2
- "开源"与"Web服务"领跑07上半年软件技术发展
- smart_jsp1.2发布了
- RedHat的RHEL5、Jboss3开源路需要继续创新
- 孔乙己之五----虚函数(下)
- SQL Server 练习题1
- 负载均衡--大型在线系统实现的关键(上篇)(再谈QQ游戏百万人在线的技术实现)
- smart发布中发现的weblogic/tomcat/resin的兼容性问题以及解决方案
- 专访: Discuz!王炳坤:Discuz!NT定位在差异化
- 孔乙己之四----虚函数(中)
- 由一篇BLOG看多态
- 更关注Google输入法发布对搜索的意义[有下载链接]
- 交叉报表处理实例
- 在SourceForge.net上使用TortoiseCVS上传代码