题目1:
======
为管理岗位业务培训信息,建立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#]) )
经过调试验证的正确答案:
SELECT SN, SD FROM S
WHERE S#
IN (SELECT SC.S#
FROM SC RIGHT JOIN C
ON SC.C# = C.C#
GROUP BY SC.S# --在结果集中以学生分组,分组后的 SC.C#选课数=C.C#课程数 即为全部课程
HAVING COUNT(distinct(SC.C#)) --注意:一个学生同一门课程可能有多条成绩记录,需要distinct
= ( select count(*) from C ) --注意:HAVING条件不能用COUNT(distinct(SC.C#)) = COUNT(distinct(C.C#)
)--子查询获得选修全部课程的学生学号
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.SNOFROM 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
题目3:
======
有如下表记录:
ID Name EmailAddress LastLogon
100 test4 test4@yahoo.cn 2007-11-25 16:31:26
13 test1 test1@yahoo.cn 2007-3-22 16:27:07
19 test1 test1@yahoo.cn 2007-10-25 14:13:46
42 test1 test1@yahoo.cn 2007-11-20 14:20:10
45 test2 test2@yahoo.cn 2007-4-25 14:17:39
49 test2 test2@yahoo.cn 2007-5-25 14:22:36
用一句sql查询出每个用户最近一次登录的记录(每个用户只显示一条最近登录的记录)
方法一:
SELECT a.* from users a inner join
(SELECT [Name], LastLogon=MAX(LastLogon) FROM users GROUP BY [Name]) b
on a.[Name]=b.[Name] and a.[LastLogon]=b.[LastLogon]
方法二:
SELECT a.* from users a inner join
(SELECT Name,MAX(LogonID) LogonID FROM users GROUP BY [Name]) b
on a.LogonID=b.LogonID
--where a.LogonId=b.LogonId
绿色通道:好文要顶关注我收藏该文与我联系
分享到:
相关推荐
### 数据库常见面试题解析 #### 1、数据库有哪几种范式? 数据库设计中遵循的规范称为“范式”,目前主要有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF(Boyce-Codd范式)、第四范式(4NF...
这份"数据库笔试面试题汇总"无疑是面试准备的宝贵资源,涵盖了众多大公司常问的问题及其解答,帮助面试者提升自身的数据库理论知识和实践能力。以下是对这些知识点的详细解读: 1. **关系型数据库基础**: - **SQL...
- 介绍常用的数据库性能监控工具(如MySQL的SHOW STATUS命令)。 - 遇到查询性能瓶颈时,应如何进行查询优化? 9. **分布式数据库** - 什么是分布式数据库,它解决了传统数据库的哪些问题? - 分布式数据库中的...
"SQL数据库基础面试题复习题考试题-全" SQL Server 是一种关系型数据库管理系统,由 Microsoft 开发,广泛应用于各种 Industries。下面是 SQL Server 数据库基础知识点的总结: 数据库基础概念 1. 数据库...
本知识点将以数据库面试题中常见的SQL和ORACLE相关问题为载体,详细介绍数据库的基础知识。 首先,数据库基础部分主要介绍了数据的抽象层次,包括物理抽象、概念抽象、视图级抽象,以及内模式、模式、外模式的概念...
以下是一些常见的Java SQL数据库面试题及其详细解答,旨在帮助你准备面试: 1. **Java与数据库连接** - JDBC(Java Database Connectivity)是什么?它是如何工作的? - 描述一下JDBC驱动的四个主要类型。 - ...
本篇主要涉及SQL Server 2005的基础面试题,涵盖了数据库的基础概念、系统数据库、数据库管理以及数据库的发展历程。 1. SQL Server数据库的主数据文件扩展名为.mdf。这意味着当你创建一个新的数据库时,主数据文件...
根据给定文件中的标题、描述、标签以及部分内容,我们可以从中提炼出与DB2...以上知识点覆盖了DB2数据库的基础知识、SQL语言的使用、数据库的设计与管理等方面,对于准备DB2数据库面试的人来说是非常有用的参考资料。
本资料涉及的是SQL Server数据库的基础面试题和复习题,涵盖了从基本概念到实际操作的多个方面。 1. SQL Server数据库的主数据文件扩展名为.mdf。这是存储数据库的主要数据的文件,而.ldf则是日志文件的扩展名,...
【SQL常用命令】 创建表的命令如:`CREATE TABLE Student(ID NUMBER PRIMARY KEY, NAME VARCHAR2(50) NOT NULL);` 创建视图的命令如:`CREATE VIEW view_name AS SELECT * FROM Table_name;` 创建唯一索引的命令如:...
SQL数据库基础面试题复习题考试题全.pdf 1. SQLServer 数据库的主数据文件的扩展名是.mdf。这是用来存储数据库的主要数据的文件,扩展名.mdf是Microsoft SQL Server中特定的,它包含了数据库的表、索引和其他对象的...
【Java及数据库面试题 包含SSH,数据库和Java基础】 1. SQL查询与数据库操作: 这一题目考察的是基本的SQL查询能力。在给出的示例中,我们看到如何从`Custom`表中选取特定列并重命名显示。`AS`关键字用于重命名列,...
以上是SQL数据库基础面试题的相关知识点,涵盖了数据库文件扩展名、系统数据库、数据库管理、数据迁移、数据库类型、数据库管理系统的特点以及SQL Server的操作等。理解这些概念对于通过SQL数据库基础面试至关重要。
数据库工程师面试题答案整理 一、填空题 1. SQL Server 2000 中使用的数据库对象包括:表、视图、存储过程、函数、索引等。 * 解释:数据库对象是指在数据库中创建的实体,用于存储和管理数据。在 SQL Server 2000...
最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 35道 BTA 常问的 Java基础39道常见面试题及详细答案 Dubbo面试题 47道 ElasticSearch面试题 30道 Git常用命令面试题 60道 Java并发...
SQL数据库基础面试题复习题考试题全,涵盖了SQL Server 2005的相关知识,主要涉及数据库的基础概念、系统数据库、数据库管理、数据迁移、数据库系统的发展阶段以及SQL Server的特性等多个方面。以下是对这些知识点的...
【SQL数据库基础面试题复习题考试题-全】 在IT面试中,SQL数据库的基础知识是不可或缺的部分,尤其对于数据管理、开发以及分析岗位而言。以下是对文档中涉及的SQL相关知识点的详细说明: 1. SQLServer数据库的主...
【SQL数据库基础面试题复习试题考试题_全.docx】这份文档主要包含了SQL Server数据库的基础知识,涵盖了多项选择题,涉及了SQL Server的文件扩展名、数据库类型、系统管理员、数据库操作、数据库管理系统(DBMS)的...