数据库人员面试:SQL Server常用测试题
问题描述:
为管理岗位业务培训信息,建立3个表:
S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (C#,CN ) C#,CN 分别代表课程编号、课程名称
SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
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([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)
题目2
问题描述:
已知关系模式:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
1. 找出没有选修过“李明”老师讲授课程的所有学生姓名
--实现代码:
SELECT SNAME FROM S
WHERE NOT EXISTS(
SELECT * FROM SC,C
WHERE SC.CNO=C.CNO
AND CNAME='李明'
AND SC.SNO=S.SNO)
2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
--实现代码:
SELECT S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)
FROM S,SC,(
SELECT SNO
FROM SC
WHERE SCGRADE<60
GROUP BY SNO
HAVING COUNT(DISTINCT CNO)>=2
)A WHERE S.SNO=A.SNO AND SC.SNO=A.SNO
GROUP BY S.SNO,S.SNAME
3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
--实现代码:
SELECT S.SNO,S.SNAME
FROM S,(
SELECT SC.SNO
FROM SC,C
WHERE SC.CNO=C.CNO
AND C.CNAME IN('1','2')
GROUP BY SNO
HAVING COUNT(DISTINCT CNO)=2
)SC WHERE S.SNO=SC.SNO
4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
--实现代码:
SELECT S.SNO,S.SNAME
FROM S,(
SELECT SC1.SNO
FROM SC SC1,C C1,SC SC2,C C2
WHERE SC1.CNO=C1.CNO AND C1.NAME='1'
AND SC2.CNO=C2.CNO AND C2.NAME='2'
AND SC1.SCGRADE>SC2.SCGRADE
)SC WHERE S.SNO=SC.SNO
5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
--实现代码:
SELECT S.SNO,S.SNAME,SC.[1号课成绩],SC.[2号课成绩]
FROM S,(
SELECT SC1.SNO,[1号课成绩]=SC1.SCGRADE,[2号课成绩]=SC2.SCGRADE
FROM SC SC1,C C1,SC SC2,C C2
WHERE SC1.CNO=C1.CNO AND C1.NAME='1'
AND SC2.CNO=C2.CNO AND C2.NAME='2'
AND SC1.SCGRADE>SC2.SCGRADE
)SC WHERE S.SNO=SC.SNO
转载于:https://www.cnblogs.com/cxd4321/archive/2006/12/16/594454.html
数据库人员面试:SQL Server常用测试题相关推荐
- SQL Server常用的系统存储过程应用实例(转)
摘要:Sql Server自带的系统存储过程有许多,但大部分我们是不常用的.我在实践中根据自己的体会,总结整理了一些比较常用的,加上一些实例介绍给大家.本期介绍: l sp_attac ...
- 8月数据库排行榜:SQL Server分数下降最多
作者 | 局长 来源 | OSC开源社区(ID:oschina2013) DB-Engines 8 月份流行度排行已更新(基于 7 月份的整体数据变化). 分数波动较大的数据库是 Microsoft ...
- SQL server常用查询
SQL server常用操作 查询:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,v ...
- 【数据库原理与SQL Server应用】Part13——数据库设计
[数据库原理与SQL Server应用]Part13--数据库设计 一.关系规范化理论的引入 1.1 问题的提出 1.2 从数据依赖到函数依赖 1.2.1 数据依赖(Data Dependency) ...
- Java数据库基础--以SQL Server为例
sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数据库的定义( ...
- SQL Server 2000数据库移植到SQL Server 2008R2数据库服务器中碰到的”3145错误”及解决办法...
辛苦忙碌了一个星期终于安装配置好了TFS服务器,给每个团队成员分配了账户和邮箱.不过,老机器中的部分数据需要备份到新机器中,其中在移植一个使用DVBBS架设的论坛的时候,出了点问题,记录如下,以备查找 ...
- Oracle 数据库、Microsoft SQL Server、MySQL 数据库三种常见数据库的区别深度剖析
文章目录 前言 一.ORACLE 数据库 二.Microsoft SQL Server 数据库 三.MySQL 数据库 总结 前言 Oracle 数据库.Microsoft SQL Server.My ...
- sql数据库 订阅发布_如何使用中央发布者和多个订阅者数据库设置自定义SQL Server事务复制
sql数据库 订阅发布 In this article, you'll learn how to setup a simple, custom distributed database replica ...
- tde数据库加密_如何在TDE加密的数据库上配置SQL Server镜像
tde数据库加密 Securing and encrypting sensitive data stored in your production databases is a big concern ...
最新文章
- ECShop显示某商品销售累计
- jenkins+testlink+python搭建自动化测试环境
- 那些年伴我一起成长的SAP装备
- c++ 遍历所有点且距离最短_C/C++ 图的最短路径 Dijkstra 算法
- layui分页limit不显示_【图片】新手 分页显示不了呀【layui吧】_百度贴吧
- VC++2012编程演练数据结构《25》线索二叉树
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_1_线程安全问题的概述...
- android无法实例化服务器,android – 无法实例化类型PagerAdapter
- ZipArchive
- Java Web 后端技术
- linux6 64位,CentOS 6.0 X64官方正式版系统(64位)
- 如何解决 RecursionError: maximum recursion depth exceeded
- 包包各部位名称图解_手袋包细节详解
- 桌面图标拖不动怎么办?
- hdwiki中lib文件目录功能
- php 短网址 算法,php生成短网址的思路以及实现方法
- 数据库表的映射与java类映射处理
- mysql之通过cmd连接远程数据库
- JAVA—— AJAX
- 双十一音响不推荐之sonos
热门文章
- 01-subgradients_notes
- php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path
- WebConfig Authorization 节点
- DB2常用傻瓜问题1000问(之一)
- java统计报表日期工具类
- 实现瀑布流的核心代码
- 微信地图 leaflet 腾讯地图
- mysql 触发器 for each row 理解_“for each row”如何在mysql中的触发器中工作?
- 分布式锁防止订单重复提交_防止表单重复提交看这里!!!
- superset0.34源码级别汉化