SQL考试试题

合集下载

sql语句期末试题及答案

sql语句期末试题及答案

sql语句期末试题及答案```一、单项选择题(共10题,每题2分,共20分)1. 在SQL中,下列哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW答案:A2. 在SQL中,用于删除表的命令是?A. DELETEB. DROP TABLEC. REMOVE TABLED. TRUNCATE TABLE答案:B3. 在SQL中,用于在表中插入新记录的命令是?A. INSERT INTOB. UPDATEC. ADDD. SET答案:A4. 下列语句中,哪一个用于从表中选择特定的行?A. SELECTB. FILTERC. SEARCHD. FIND答案:A5. 在SQL中,用于更新表中记录的命令是?A. MODIFYB. CHANGEC. UPDATED. ALTER答案:C6. 在SQL中,用于删除表中记录的命令是?A. DELETEB. DROPC. REMOVED. TRUNCATE答案:A7. 下列哪个关键字用于从表中选择唯一的记录?A. UNIQUEB. DISTINCTC. UNIQUEKEYD. PRIMARY答案:B8. 在SQL中,用于指定表的新名称的命令是?A. RENAME TABLEB. ALTER TABLEC. MODIFY TABLED. CHANGE TABLE答案:A9. 在SQL中,用于修改表中列定义的命令是?A. RENAME COLUMNB. ALTER COLUMNC. MODIFY COLUMND. CHANGE COLUMN答案:C10. 下列哪个操作符用于在WHERE子句中判断一个值是否在指定的列表中?A. INB. NOTC. LIKED. BETWEEN答案:A二、判断题(共5题,每题2分,共10分)1. 在SQL中,SELECT语句用于删除表中的记录。

SQL试题——精选推荐

SQL试题——精选推荐

SQL试题数据库基础与应⽤课程针对性训练⼀、单项选择题,1.域是实体中相应属性的( A. 取值范围)。

2.把保存关系定义的关系称为对应数据库的( B. 元关系)。

3.在⼀个关系R中,若存在X→Y和X→Z,则存在X→(Y,Z),称此为函数依赖的(C. 合并性)规则。

4. 设⼀个关系为R(A,B,C,D,E,F),它的最⼩函数依赖集为FD={A→B,A→C,D→E,D→F},则该关系的候选码为(D. (A,D))。

5.在SQL中,对基本表进⾏插⼊和修改记录的命令为(D. insert和update)。

6.Access2000数据库是(C.关系)型数据库。

7.如果字段内容为声⾳⽂件,可将此字段定义为(C.OLE对象)类型。

8.在建交叉表查询的过程中,最多可以选择(B.3)个⾏标题字段。

9.若要退出Microsoft Acces s,则应使⽤的操作是(C.Quit)。

10.显⽰包含警告信息或其他信息的消息框,应该使⽤的操作是(D.MsgBox)。

1.设D1,D2和D3域的基数分别为2,3和4,则D1?D2?D3的元组数为(B. 24 )。

2.若⼀个关系为R(学⽣号,姓名,性别,年龄),则(A. 学⽣号)适合作为该关系的主码。

3.设⼀个集合A={3,4,5,6,7},集合B={1,3,5,7,9},则A和B的并集中包含有(C. 7)个元素。

4. 在⼀个关系R中,若存在X→(Y,Z),则也隐含存在X→Y和X→Z,称此为函数依赖的(B. 分解性)规则。

5.在SQL的查询语句中,order by选项实现对结果表的(D. 排序)功能。

6.Access2000数据库⽂件的扩展名是(D.mdb)。

7.在下⾯所给的属性中,(D.⾝份证号码)属性适宜作为主关键字。

8.下列(C .)图标是Access中表对象的标志。

9.Access中包含有(B.10)种数据类型。

10.可以通过Internet进⾏数据发布的对象是(D.数据访问页)。

sql试题及答案

sql试题及答案

一. 选择题:1、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(_B__)A、只存在一对多的实体关系,以图形方式来表示。

B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。

C、能体现一对多、多对多的关系,但不能体现一对一的关系。

D、关系模型数据库是数据库发展的最初阶段。

2、在“连接”组中有两种连接认证方式,其中在(__B_)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。

A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时3、关系数据库中,当运用Transact-SQL语句创建主键时,可以是(__B_)。

A、create table table1(column1 char(13) not null primary,column2 int not) on primary;B、alter table table1 with notcheck addconstraint [PK_table1] primary key nonclustered( column1) on primary;C、alter table table1 column1 primary key ;4、表在数据库中是一个非常重要的数据对象,数据库创建后就可以创建表了,创建表可以用(_D__)等方法来创建。

A、企业管理器B、查询分析器C、OSQLD、企业管理器和CREATE TABLE语句5、_______是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。

( C)A、操作系统B、关系模型C、数据库管理系统D、数据库6、SQL Serve是一款基于_________体系的关系型数据库管理系统。

(A )A、客户机/服务器B、主机C、N层D、单机7、下面哪一个不是SQL Server2000的基本数据类型( A)A、VARIANTB、VARCHARC、VARBINARYD、NVARCHAR8、下面的类型中宽度最大的是(C )A、CHAR(5)B、VARCHAR(5)C、NCHAR(5)D、BIGINT9、表达式LEN('电子学院') + DATALENGTH(GETDATE())的值为( C)A、8B、10C、12D、1610、(D )下面哪些操作可以用DataReader对象来实现?A. 添加B. 删除C. 更改D. 查询表的数据11、若要在Web窗体中使用,并且访问SQL Server数据库,需要导入的名称空间为:( B )A. System.SQLServerB. System.Data.SqlClientC. System.Data.OleDbD.System.SQL12、以下哪一个对象不是.NET的数据提供者?( A )A. ConnectionB. CommandC. DataAdapterD. DataReaderE. DataSet13、(B )要使用一个返回记录的存储过程,并把结果返回到DataSet中,在设置DataAdapter对象的属性SelectCommand时,应把存储过程名赋给哪个属性?A. ConnectionB. CommandTextC. CommandTypeD. Result14、(B)以下对象中除什么外都是DataSet对象所包含的A. DataTableB. DataAdapterC. DataRowD. DataColumn15、当采用Windows认证方式登录数据库服务器时,SQL Server客户端软件会向操作系统请求一个( A )。

SQL试题以及答案

SQL试题以及答案

SQL试题以及答案一、已知一个教学管理信息系统,其数据表间约束如下图所示:(一)要求:使用“教学管理数据库”,完成下列操作。

1、返回“班级表”中的所有行和所有列。

2、检索“学生表”中的学号、姓名、性别和籍贯字段。

3、求所有学生在2022年的年龄。

4、查找所有入学成绩大于等于600的同学的学号、姓名和入学成绩。

5、查找以姓“王”开头的学生学号和姓名。

6、查找第二个字符为“中”字的学生学号和姓名。

7、查询所有学生的入学成绩,查询结果按入学成绩的降序排列。

8、对所有学生按入学成绩排降序和出生日期排降序输出学号、姓名、入学成绩和出生日期。

9、查找来自于东北地区的学生信息,即籍贯为吉林、辽宁或黑龙江的学生,显示学号、姓名、性别和籍贯。

10、查找“计算机科学技术2022-02班”的人数和班主任。

(二)打开“教学管理数据库”,完成下列任务。

1、求成绩在90分以上人的学号、姓名和成绩。

2、将“学生表”、“成绩表”和“课程表”进行自然连接,求结果。

3、求“郭达雷”的成绩表。

4、求统计学081班的所有成绩单。

5、求每个同学所修课程的总学分,且按总学分降序输出。

6、求所修课程总学分在11分以上的姓名。

(三)打开“教学管理数据库”,其数据表间约束如上图所示,各个数据表的数据类型请自行查阅,完成下列任务。

1.查询全体学生的姓名、学号和年龄。

并将结果保存在C:\\reult.t 某t中。

2.查询选修了课程且成绩及格以上的学生学号。

3.输出学生表中所有的籍贯。

(去除重复的记录)4.统计少数民族且在1990年或1992年出生的同学人数。

5.查询查找成绩最高分的同学学号、课程号和成绩。

6.查询选课成绩最高的同学学号、姓名、课程号和相应的成绩。

应成绩,按学号排序输出。

9.查询至少选修课程的总分在30分以上的同学学号、姓名、班级名称和总分。

10.查询选修了“邓小平理论”课程的同学学号、选课成绩。

二、已知一个图书管理信息系统,其数据表间约束如下图所示:(一)打开“图书管理”数据库,完成下列工作。

sql 考试题

sql 考试题

好的,以下是一份简单的SQL考试题,包括选择题和简答题。

一、选择题
1. SQL的全称是什么?
A. Structured Query Language
B. Standard Query Language
C. Server Query Language
D. Simple Query Language
2. 在SQL中,哪个关键字用于选择所有列?
A. SELECT
B. FROM
C. WHERE
D. ALL
3. 哪个关键字用于在SQL查询中添加过滤条件?
A. WHERE
B. AND
C. OR
D. NOT
4. 在SQL中,哪个关键字用于排序查询结果?
A. ORDER BY
B. GROUP BY
C. HAVING
D. JOIN
5. 在SQL中,哪个关键字用于指定多表连接的类型?
A. JOIN
B. ON
C. WHERE
D. ORDER BY
二、简答题
1. 描述在SQL中如何使用`JOIN`关键字连接两个表,并指定连接条件。

2. 解释`SELECT`语句的作用,并给出一个简单的`SELECT`语句的例子。

3. 描述在SQL中如何使用`WHERE`子句对查询结果进行过滤。

4. 解释在SQL中如何使用`GROUP BY`子句对结果进行分组。

5. 描述在SQL中如何使用`ORDER BY`子句对查询结果进行排序。

sql测试试题

sql测试试题

sql测试试题一、选择题(每题2分,共20分)在SQL中,用于查询数据的关键字是()。

A. INSERTB. SELECTC. UPDATED. DELETESQL中用于向表中插入新数据的语句是()。

A. INSERT INTOB. SELECT INTOC. UPDATED. DELETE在SQL中,要删除表中的记录,应使用()语句。

A. DELETEB. DROPC. TRUNCATED. ALTER以下哪个SQL函数用于计算某个字段的总和?()A. SUM()B. AVG()C. COUNT()D. MAX()在SQL中,如果要根据某个字段对结果进行排序,应使用()子句。

A. WHEREB. ORDER BYC. GROUP BYD. HAVING二、填空题(每空2分,共10分)SQL的全称是__________。

在SQL中,用于过滤记录的条件语句是__________。

如果要查询某个表中所有字段的数据,可以使用__________通配符。

三、简答题(每题5分,共15分)描述SQL中JOIN操作的作用及其类型。

解释SQL中聚合函数的作用,并列举至少三种常见的聚合函数。

在SQL中,GROUP BY和HAVING子句有什么区别?四、SQL语句编写题(每题10分,共30分)假设有一个名为“Employees”的表格,包含字段“ID”、“Name”和“Salary”。

编写一个SQL语句,查询工资最高的员工的姓名和工资。

假设有一个名为“Customers”的表格,包含字段“ID”、“Name”和“Age”。

编写一个SQL语句,查询年龄大于30岁的客户姓名。

假设有一个名为“Orders”的表格,包含字段“OrderID”、“CustomerID”和“OrderDate”。

编写一个SQL语句,查询每个客户的最后下单日期。

五、综合应用题(每题15分,共25分)描述一个实际的数据库应用场景,并设计相应的数据表结构。

SQL 数据库试题及答案

SQL 数据库试题及答案

SQL 数据库试题及答案一、单选题(每题2分,共20分)()1、下列不能启动SQL Server服务的方法:A、使用SQL Server配置管理器B、使用Windows的管理工具C、使用net start mssqlserver 命令D、在查询编辑器中编写T-SQL程序()2、部分匹配查询中有关通配符“%”的正确的叙述是。

A、“%”代表多个字符B、“%”可以代表零个或多个字符C、“%”不能与“_”一同使用D、“%”代表一个字符()3、在SELECT子句中,如果想要返回结果集中不包含相同的行,应该使用关键字。

A、TOPB、ASC、DISTINCTD、JOIN()4、是表中用来唯一标识的每行记录。

A、外键B、主键C、索引D、数据库完整性()5、SQL 中,"GRADE NOT BETWEEN 60 AND 90"的语义是。

A、GRADE<60 OR GRADE>90B、GRADE<= 60 OR GRADE>= 90C、GRADE<>60 AND GRADE<>90D、GRADE<>60 OR GRADE<>90()6、简称DBA。

A、数据库管理员B、数据库C、数据库管理系统D、计算机硬件()7、在SQL中,可以使用语句执行恢复数据库的操作。

A、BACKUP DA TABASEB、RESTORE DA TABASEC、CREATE DARABASED、DROP DATABASE()8、设一个班级可选修多门课程,一门课程可被多个班级选修,班级与课程之间是。

A、一对一的联系B、一对多的联系C、多对一的联系D、多对多的联系()9、SQL Server2016的数据库中主数据文件的扩展名是。

A、.mdfB、.ndfC、.ldfD、.dbf()10、当表中引入时,会提高记录的查询速度。

A、外键B、主键C、索引D、数据库完整性二、数据库设计题(共40分)根据如下E-R图,将其转换为逻辑数据库。

SQL试题

SQL试题
D.alter table table_name add column idd int
*40. 下列哪个统计函数可以计算某一列上的最大值?( )。
A.sum
B.avg
C.max
D.min
*41. 声明了变量:declare @i int,@c char(4),现在为@i赋值10,为@c赋值'abcd',正确的语句是? ( )。
A.*
B.all
C.desc
D.distinc
*49. 下列哪个函数可以计算平均值?( )。
A.sum
B.avg
C.count
D.min
*50. 下列哪种数据类型上不能建立IDENTITY列?( )。
A.int
B.tinyint
C.float
B.数据管理功能
C.数据查询
D.数据控制
*4. 在通常情况下,下列哪个事物不是数据库对象?( )
A.View
B.Table
C.Rule
D.Word
*5. 视图最主要的优点是什么?( )
A.提高数据的逻辑独立性
B.提高查询效率
C.操作灵活
D.节省存储空间
A.insert
B.update
C.select
D.truncate table
*54. 所谓空值就是()的值?( )。
A.数值0
B.空的字符串?
C.未知的值
D.任何值
*55. 下列创建表student的语句正确的是( )。
A.create table student( 学号 char(10),姓名 char(2) ,年龄 int(4))

SQL 测试题

SQL 测试题

SQL考试题一、选择题1.SELECT语句中与HAVING子句通常同时使用的是(C)子句。

A.ORDER BYB.WHEREC.GROUP BYD.无需配合2.以下聚合函数求数据总和的是(B)A.MAX B.SUM C.COUNT D.AVG3.SELECT语句的完整语法较复杂,但至少包括的部分是( B )A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 4.SQL语句中的条件用以下哪一项来表达( C )A.THEN B.WHILE C.WHERE D.IF5.查找表结构用以下哪一项( B )A.FIND B.SELETE C.ALTER D.DESC6.向数据表中插入一条记录用以下哪一项( B )A.CREATE B.INSERT C.SAVE D.UPDATE7.SQL语言中,删除一个表的命令是( D )A.REMOVE B.CLEAR C.DELETE D.DROP8.修改数据库表结构用以下哪一项( D )A.UPDATE B.CREATE C.UPDATED D.ALTER9.下列( D )不属于连接种类A.左外连接B.内连接C.中间连接D.交叉连接10.SQL是一种( C )语言。

A.函数型B.高级算法C.关系数据库D.人工智能11.下列的SQL语句中,( B )不是数据定义语句。

A.CREATE TABLE B.GRANT C.CREATE VIEW D.DROP VIEW 12.以下聚合函数求平均数的是( C )A.COUNT B.MAX C.AVG D.SUM13.用来插入数据的命令是( A ),用于更新的命令是( ) A.INSERT,UPDATE B.CREATE,INSERT INTO C.DELETE,UPDATE D.UPDATE,INSERT14.以下哪项用于左连接( C )A.JOIN B.RIGHT JOIN C.LEFT JOIN D.INNER JOIN15.一张表的主键个数为( C )A.至多3个B.没有限制C.至多1个D.至多2个二、填空题1.select 9/3;的结果为___true_。

SQL数据库考试试题

SQL数据库考试试题

1SQL数据库试题一、单项选择题(每小题1分,共10分)1.下列四项中,不属于数据库特点的是( C )。

A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.下列四项中,不属于SQL2000实用程序的是( D )。

A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server安装程序创建4个系统数据库,下列哪个不是( C )系统数据库。

A.masterB.modelC.pubD.msdb4.( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。

数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMS B.DBC.DBS D.DBA5. 在SQL中,建立表用的命令是 ( B )。

A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( A )。

A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.下列四项中,不正确的提法是( C )。

2A.SQL语言是关系数据库的国际标准语言B.SQL语言具有数据定义、查询、操纵和控制功能C.SQL语言可以自动实现关系数据库的规范化D.SQL语言称为结构查询语言8.在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。

A.sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9.SQL语言中,删除表中数据的命令是( A )。

A.DELETEB. DROPC. CLEARD. REMOVE10.SQL的视图是从( C )中导出的。

A.基本表B. 视图C. 基本表或视图D. 数据库SQL数据库试题2一、单项选择题(每小题1分,共10分)4. 下列哪个不是sql 数据库文件的后缀。

sql试题及答案

sql试题及答案

sql试题及答案一、单选题1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于()。

A. Windows平台B. UNIX平台C. LINX平台D. NetWare平台2. 当一条SELECT语句访问一张大表里的有限几行数据时,SQL Server2000通常会()。

A. 为数据加上页级锁B. 为数据加上行级锁C. 需要用户的干涉和参与D. 使用户独占数据库3. 当采用Windows认证方式登录数据库服务器时,SQL Server2000客户端软件会向操作系统请求一个()。

A. 信任连接B. 邮件集成C. 并发控制D. 数据转换服务4. 以下对SQL Server2000描述不正确的是()。

A. 支持XMLB. 支持用户自定义函数C. 支持邮件集成D. 支持网状数据模型5. 如果在SQL Server2000上运行一个非常大的数据库,为取得较好效果应选用安装()。

A. 企业版B. 标准版C. 个人版D. 开发版6. 提高SQL Server2000性能的最佳方法之一是()。

A. 增大硬盘空间B. 增加内存C. 减少数据量D. 采用高分辨率显示器7. SQL Server2000标准版不支持的操作系统是()。

A. Windows 2000 ServerB. Windows NT ServerC. Windows98D. Windows 2000 Advanced Server8. 如果希望完全安装SQL Server2000,则应选择()。

A. 典型安装B. 最小安装C. 自定义安装D. 仅连接9. 要想使SQL Server2000数据库管理系统开始工作,必须首先启动()。

A. SQL Server服务器B. 查询分析器C. 网络实用工具D. 数据导入和导出程序10. 用于配置客户端网络连接的工具是()。

A. 企业管理器B. 客户端网络实用工具C. 查询分析器D. 联机帮助文档11. SQL Server2000的物理存储主要包括3类文件()。

sql基础考题

sql基础考题

SQL基础知识考核试题一、单选题1、以下哪种情况应尽量创建索引()。

[单选题]*A、在Where子句中出现频率较高的列√B、具有很多NULL值的列C、记录较少的基本表D、需要更新频繁的基本表2、()是对客观事物及其活动的抽象符号表示,是存储在某一种媒体上可以鉴别的符号资料,其形式可以是数字、文字、图像、图形和声音等。

[单选题]*A、数据√B、符号C、字符D、信息3、对视图的描述错误的是:()[单选题]*A、是一张虚拟的表B、在存储视图时存储的是视图的定义C、在存储视图时存储的是视图中的数据√D、可以像查询表一样来查询视图4、SQL语言中,SELECT语句的中FROM子句指出的是查询的()[单选题]*A、数据来源√C、输出数据项D、分组依据5、查询时去重的关键字是()[单选题]*A、distanceB、distinct√C、disableD、disappear6、对查询结果进行升序排序的关键字是()[单选题]*A、ABCB、ASC√C、ABCDD、DESC8、以下哪两个关键字不是等效的()[单选题]*A、join和innerjoinB、fulljoin和fullouterjoinC、leftjoin和leftouterjoinD、rightjoin和rightinnerjoin√9、以下哪个是同义词()[单选题]*A、SYNONYM√B、SECRETC、SYNC10、以下哪种不属于数据库的约束()[单选题]*A、主键约束B、检查约束C、非空约束D、隔离约束√11、关于唯一约束,以下描述错误的是()[单选题]*A、所有值都是唯一值B、值可以为nullC、可以多列进行组合√D、会自动创建索引12、关于索引,以下描述正确的是()[单选题]*A、索引不会占据空间B、索引越多越好C、索引不会影响删除的效率D、非聚集索引可以创建多个√13、关于数据类型,以下描述正确的是()[单选题]*A、bit类型不可以存储null值B、bigint的值可以无限大C、tinyint用来表示人类的年龄比较合适√D、浮点数据是精确值,数据类型范围内的所有值都能精确地表示14、关于日期类型,以下描述准确的是()[单选题]*A、date类型可以储存时分秒B、datetime可以精确到千分之一秒√C、smalldatetime可以精确到1秒D、datetimeoffset不可以用来表示时区。

sql数据库试题及答案

sql数据库试题及答案

sql数据库试题及答案SQL数据库试题一1. 下面哪个命令可以创建一个名为"employee"的表格?A. CREATE TABLE employee;B. NEW TABLE employee;C. ADD TABLE employee;D. INSERT TABLE employee;答案:A. CREATE TABLE employee;2. 下列哪个是SQL数据库的关键字?A. SELECTB. COLUMNC. INSERTD. ADD答案:A. SELECT3. 在SQL中,如何查询一个名为"customers"的表格的所有记录?A. SELECT * FROM customers;B. SELECT ALL FROM customers;C. SELECT RECORDS FROM customers;D. SELECT DATA FROM customers;答案:A. SELECT * FROM customers;4. 如何在SQL中向表格中插入新的记录?A. ADD NEW INTOB. UPDATE TABLEC. INSERT INTOD. CREATE NEW答案:C. INSERT INTO5. 如何根据特定条件从表格中删除记录?A. REMOVE FROMB. ERASE ROWC. DELETE FROMD. DROP RECORD答案:C. DELETE FROMSQL数据库试题二1. 下面哪个关键字可以用来对查询结果进行排序?A. GROUP BYB. SORT BYC. ORDER BYD. ARRANGE BY答案:C. ORDER BY2. 在SQL中,如何对表格的指定列进行更新?A. MODIFY COLUMNB. EDIT TABLEC. UPDATE COLUMND. ALTER TABLE答案:C. UPDATE COLUMN3. 下面哪个函数可以计算表格中指定列的平均值?A. AVG()B. SUM()C. MAX()D. COUNT()答案:A. AVG()4. 在SQL中,如何查找表格中满足特定条件的记录数量?A. GET()B. FETCH()C. SEARCH()D. COUNT()答案:D. COUNT()5. 下面哪个关键字可以用来从多个表格中联合查询数据?A. UNIONB. JOINC. CONNECTD. COMBINE答案:B. JOIN文章到此结束,希望以上SQL数据库试题及答案能帮助到您对SQL数据库的理解和学习。

sql经典练习题库(附答案)

sql经典练习题库(附答案)

SQL练习题库表结构Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表试题:1、查询“0001”课程比“C002”课程成绩高的所有学生的学号;Select s# from scWhere c#='0001' and score>any(select score from sc c#='0002')2、查询平均成绩大于60分的同学的学号和平均成绩;select s#,avg(score) from SCgroup by s#having avg(score)>603、查询所有同学的学号、姓名、选课数、总成绩;select student.s#,student.sname,count(sc.c#)as 选课数,sum(score)总成绩from student,scwhere student.s#=sc.s#group by student.s#,student.sname4、查询姓“张”的老师的个数;select count(*)人数from teacherwhere tname like'张%'5、查询没学过“叶平”老师课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# not in(select t# from teacher where tname='张丽芬') group by student.s#,student.sname6、查询学过“0001”并且也学过编号“0002”课程的同学的学号、姓名;select sc.s#,sname from sc,studentwhere sc.c# = '0001' and student.s# = sc.s# and sc.s# in (select s# from sc where sc.c# = '0002')--并(两表值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'unionselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--交(有相同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'intersectselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--差(不同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'exceptselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# in(select t# from teacher where tname='张丽芬')group by student.s#,student.sname8、查询课程编号“001”的成绩比课程编号“002”课程低的所有同学的学号、姓名;select student.s#,sname,score from student,scwhere student.s#=sc.s# and score in(( select score from sc where c#='0001' )<all( select score from sc where c#='0002' )) 9、查询所有课程成绩小于60分的同学的学号、姓名;select student.s#,sname from studentwhere s# in(select s# from sc where score<60)10、查询没有学全所有课的同学的学号、姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s#group by student.s#,student.snamehaving count(c#)<(select count(c#) from course)11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s# and c#=any(select c# from scwhere s#='1001')group by student.s#,student.sname12、查询至少学过学号为“0001”同学所有一门课的其他同学学号和姓名;Select sc.s#,sname from sc inner join student on sc.s#=student.s#Where c# in (select c# from sc where s#=’0001’)13、把“SC”表中“赵雁南”老师教的课的成绩都更改为此课程的平均成绩;update scset score=(select avg(sc.score) from sc,teacher,coursewhere sc.c#=course.c# and course.t#=teacher.t# and teacher.tname='赵雁南')where sc.c#=(select c# from course,teacher where course.t#=teacher.t# and tname='赵雁南' )14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select student.s#,sname from student,scwhere student.s#=sc.s# and sc.c#=all(select c# from sc where s#='1005') and student.s#<>'1005'15、删除学习“朱玉文”老师课的SC表记录;delete from scwhere c# in(select c# from sc where c# in (select c# from course,teacher where teacher.t#=course.t# and teacher.tname='朱玉文' ) )16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“0002”课程的同学学号、号课的平均成绩;insert into scvaluesselect s# from sc where s# not in (select s# from sc where c#='0002'select avg(score) as 平均成绩from sc where c#='0002'17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分select sc.s#,ame,sc.score,avg(score)as 平均成绩from sc inner join course on sc.c#=course.c#where sc.c# in(select c# from course where cname=any(select cname from course where cname in('计算机基础','Oracle','软件工程')))group by sc.s#,ame,sc.scoreorder by avg(score) descSELECT S# as 学生ID,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0001') AS 计算机基础,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0002') AS Oracle,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0011') AS 软件工程,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM sc AS tGROUP BY S#ORDER BY avg(t.score) desc18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分select c# 课程ID,max(score) 最高分,min(score) 最低分from scgroup by c#19、按各科平均成绩从低到高和及格率的百分数从高到低顺序select c#, avg(score) from scwhere score>60group by c#20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(),马克思(),OO&UML (),数据库()21、查询不同老师所教不同课程平均分从高到低显示select course.t#,avg(sc.score) as 平均分from sc,coursewhere sc.c#=course.c#group by course.t#order by avg(sc.score) desc22、查询如下课程成绩第3 名到第6 名的学生成绩单:企业管理,马克思,UML,数据库[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩select student.s#,student.sname,sc.score,ame from student inner join sc on student.s#=sc.s#inner join course on sc.c#=course.c#where ame in('oracle','电路分析','计算机基础')order by ame,sc.score desc23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]select sc.c#,ame,count(*)人数from sc,coursewhere course.c#=sc.c#group by sc.c#,ame24、查询学生平均成绩及其名次select sc.s#,avg(score) from scgroup by sc.s#order by avg(score) desc25、查询各科成绩前三名的记录考虑成绩并列情况select s#,c# ,score from scwhere score in (select distinct top 3 score from scgroup by c#,score)order by score desc26、查询每门课程被选修的学生数select c# as 课程号,count(c#)as 选修人数from scgroup by c#order by count(c#) desc27、查询出只选修了一门课程的全部学生的学号和姓名select sc.s#,student.sname from sc inner join student on student.s#=sc.s#group by sc.s#,student.snamehaving count(c#)=128、查询男生、女生人数select ssex, count(*) as 总人数from studentgroup by ssex29、查询姓“张”的学生名单select sname from studentwhere sname like '张%'30、查询同名同性学生名单,并统计同名人数select ssex,count(*) from studentgroup by ssex31、同年出生的学生名单(注:Student表中Sage列的类型是datetime)32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列select c#,avg(score)平均成绩from scgroup by c#order by avg(score) asc33、查询平均成绩大于的所有学生的学号、姓名和平均成绩select top 1 student.s#,student.sname,avg(score)平均成绩from student inner join sc on student.s#=sc.s#group by student.s#,student.snameorder by avg(score) desc34、查询课程名称为“数据库”,且分数低于80的学生姓名和分数select student.sname,sc.score from sc,student,coursewhere student.s#=sc.s# and sc.c#=course.c# and ame='计算机基础' and sc.score<80group by student.sname,sc.score35、查询所有学生的选课情况;select student.s#,sname,c# from student left join sc on student.s#=sc.s#36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;select student.sname,ame,sc.score from student,sc,coursewhere student.s#=sc.s# and sc.c#=course.c# and sc.score>70order by score desc37、查询不及格的课程,并按课程号从大到小排列select c#,score from scwhere score<60order by c#38、查询课程编号为0001且课程成绩在70分以上的学生的学号和姓名;select student.s#,sname from sc,studentwhere c#='0001' and score>70 and student.s#=sc.s#39、求选了课程的学生人数select count(s#)人数from scwhere sc.score<>040、查询选修“oracle”课程的学生中,成绩最高的学生姓名及其成绩select top 1 student.sname,max(sc.score)成绩最高from student inner join sc on student.s#=sc.s# inner join course on sc.c#=course.c#where ame='oracle'group by student.snameorder by max(sc.score) desc41、查询各个课程及相应的选修人数select ame,count(sc.c#) as 选修人数from sc inner join course on sc.c#=course.c#group by ameorder by count(sc.c#) desc,ame asc42、查询不同课程成绩相同的学生的学号、课程号、学生成绩43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 score FROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#44、统计每门课程的学生选修人数(超过人的课程才统计)。

sql测试题和答案.docx

sql测试题和答案.docx

sql测试题和答案# SQL测试题1. 基础查询题- 题目:编写一个SQL查询,从`employees`表中选择所有员工的姓名和员工ID。

- 答案:`SELECT name, employee_id FROM employees;`2. 条件查询题- 题目:从`orders`表中选择所有订单金额超过1000的订单。

- 答案:`SELECT * FROM orders WHERE order_amount > 1000;`3. 排序题- 题目:从`products`表中选择所有产品的名称和价格,并按价格降序排列。

- 答案:`SELECT name, price FROM products ORDER BY price DESC;`4. 聚合函数题- 题目:计算`sales`表中所有销售额的总和。

- 答案:`SELECT SUM(sales_amount) AS total_sales FROM sales;`5. 分组查询题- 题目:从`sales`表中按产品ID分组,并计算每个产品的总销售额。

- 答案:`SELECT product_id, SUM(sales_amount) AStotal_sales_per_product FROM sales GROUP BY product_id;`6. 连接查询题- 题目:查询`customers`表和`orders`表,找出所有客户的姓名和他们下过的订单数量。

- 答案:`SELECT , COUNT(o.order_id) AS order_count FROM customers c JOIN orders o ON c.customer_id =o.customer_id GROUP BY ;`7. 子查询题- 题目:找出`employees`表中工资高于平均工资的员工的姓名和工资。

- 答案:`SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);`8. 多表连接查询题- 题目:查询`employees`表和`departments`表,找出所有员工的姓名、部门名称和部门ID。

SQL试题

SQL试题

第一部分选择题一、单项选择题1.SQL语言中,删除一个表的命令是()A DELETEB DROPC CLEARD REMORE2.设有一个表:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME LIKEA ‘_ _ W _ %’B ‘_ % W _ _’C ‘_ W _ _’D ‘_ W _ %’3.有一个表:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于()A 主键约束B外键约束C 唯一约束D 检查约束4.已知关系:厂商(厂商号,厂名)PK=厂商号产品(产品号,颜色,厂商号)PK=产品号,FK=厂商号假设两个关系中已经存在如图4所示元组:厂商产品若再往产品关系中插入如下记录:I(P03,红,C02)II(P01,蓝,C01)III(P04,白,C04)IV(P05,黑,null)能够插入的元组是()A I,II,IVB I,IIIC I,IID I,IV5.已知成绩关系如图2所示。

执行SQL语句:SELECT COUNT(DISTINCT学号)FROM成绩WHERE分数>60查询结果中包含的元组数目是()成绩A 1B 2C 3D 46.E-R图中的主要元素是( )A.结点、记录和文件B.实体、联系和属性C.记录、文件和表D.记录、表、属性7.表达式“AGE BETWEEN 18 AND 24”等价于( )A.AGE>18 AND AGE<24 B.AGE>=18 AND AGE<24C.AGE>18 AND AGE<=24D.AGE>=18 AND AGE<=248.在一个事务执行期间所使用的数据不能被第二个事务再使用,直到第一个事务结束为止,这个性质称为事务的()A.串行性B.隔离性C.永久性D.原子性9.在SQL语言中,数值函数COUNT(列名)用于()A.计算元组个数B.计算属性的个数C.对一列中的非空值计算个数D.对一列中的非空值和空值计算个数10.在下列SQL语句中,能够完成修改表结构的语句是()A.ALTER B.CREATEC.UPDATE D.INSERT11.有学生关系:学生(学号,姓名,年龄,系号),对学生关系的查询语句如下:SELECT 系号,AVG(年龄) FROM 学生GROUP BY 系号如果要提高查询效率,应该建索引的属性是( )。

sql考试题

sql考试题

常见SQL考试题以下是一些常见的SQL编程考试题,仅供参考:1. 查询表中所有数据:SELECT * FROM table_name;2. 查询表中指定字段的数据:SELECT column1, column2 FROM table_name;3. 查询表中符合条件的数据:SELECT * FROM table_name WHERE condition;4. 对查询结果进行排序:SELECT * FROM table_name ORDER BY column_name ASC/DESC;5. 查询表中数据的总数:SELECT COUNT(*) FROM table_name;6. 查询表中数据的平均值:SELECT AVG(column_name) FROM table_name;7. 查询表中数据的最大值:SELECT MAX(column_name) FROM table_name;8. 查询表中数据的最小值:SELECT MIN(column_name) FROM table_name;9. 查询表中数据的和:SELECT SUM(column_name) FROM table_name;10. 查询表中数据的分组统计:SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;11. 查询表中数据满足多个条件的记录:SELECT * FROM table_name WHERE condition1 AND condition2;12. 查询表中数据满足任意一个条件的记录:SELECT * FROM table_name WHERE condition1 OR condition2;13. 查询表中数据满足一个条件但不满足另一个条件的记录:SELECT * FROM table_name WHERE condition1 AND NOT condition2;14. 查询表中数据匹配指定模式的记录:SELECT * FROM table_name WHERE column_name LIKE 'pattern';15. 查询表中数据在指定值范围内的记录:SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;16. 查询表中数据按照日期范围筛选:SELECT * FROM table_name WHERE date_column BETWEEN 'start_date' AND'end_date';17. 查询表中数据按照年份统计:SELECT YEAR(date_column), COUNT(*) FROM table_name GROUP BY YEAR(date_column);18. 查询表中数据按照月份统计:SELECT MONTH(date_column), COUNT(*) FROM table_name GROUP BY MONTH(date_column);19. 查询表中数据按照星期几统计:SELECT DAYNAME(date_column), COUNT(*) FROM table_name GROUP BY DAYNAME(date_column);20. 查询表中数据按照区间分组统计:SELECT CASE WHEN column_name < value1 THEN 'Group1'WHEN column_name <= value2 THEN 'Group2'ELSE 'Group3' END AS group_name, COUNT(*) FROM table_name GROUP BY group_name;21. 查询表中数据按照多个字段排序:SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC;22. 查询表中数据按照字段去重:SELECT DISTINCT column_name FROM table_name;23. 查询两个表的交集:SELECT * FROM table1 INTERSECT SELECT * FROM table2;24. 查询两个表的并集:SELECT * FROM table1 UNION SELECT * FROM table2;25. 查询两个表的差集:SELECT * FROM table1 EXCEPT SELECT * FROM table2;26. 查询表中数据按照条件分页:SELECT * FROM table_name WHERE condition LIMIT offset, count;27. 查询表中数据排序并分页:SELECT * FROM table_name ORDER BY column_name LIMIT offset, count; 28. 查询表中数据按照指定值分段:SELECT column_name,CASE WHEN column_name <= value1 THEN 'Group1'WHEN column_name <= value2 THEN 'Group2'ELSE 'Group3' END AS group_nameFROM table_name;29. 查询表中数据在另一个表中不存在的记录:SELECT * FROM table1 WHERE column_name NOT IN (SELECT column_name FROM table2);30. 查询表中数据在另一个表中存在的记录:SELECT * FROM table1 WHERE column_name IN (SELECT column_name FROM table2);31. 查询表中数据满足多个条件的记录:SELECT * FROM table_name WHERE column1 IN (value1, value2) AND column2 = value3;32. 查询表中数据的前N条记录:SELECT * FROM table_name LIMIT N;33. 查询表中数据的第N到第M条记录:SELECT * FROM table_name LIMIT N, M;34. 查询表中数据按照指定字段分组并计算总和:SELECT column1, SUM(column2) FROM table_name GROUP BY column1; 35. 查询表中数据按照指定字段分组并计算平均值:SELECT column1, AVG(column2) FROM table_name GROUP BY column1; 36. 查询表中数据按照指定字段分组并计算最大值:SELECT column1, MAX(column2) FROM table_name GROUP BY column1; 37. 查询表中数据按照指定字段分组并计算最小值:SELECT column1, MIN(column2) FROM table_name GROUP BY column1; 38. 查询表中数据按照指定字段分组并计算个数:SELECT column1, COUNT(column2) FROM table_name GROUP BY column1;39. 查询表中数据按照指定字段分组并计算各分组记录的个数:SELECT column1, COUNT(*) FROM table_name GROUP BY column1;40. 查询表中数据按照指定字段分组并排序:SELECT column1, COUNT(*) FROM table_name GROUP BY column1 ORDER BY COUNT(*) DESC;41. 查询表中数据同时满足多个条件的记录数:SELECT COUNT(*) FROM table_name WHERE condition1 AND condition2;42. 查询表中数据满足一个条件但不满足另一个条件的记录数:SELECT COUNT(*) FROM table_name WHERE condition1 AND NOT condition2;43. 查询表中数据在指定模式下匹配的记录数:SELECT COUNT(*) FROM table_name WHERE column_name LIKE 'pattern';44. 查询表中数据在指定值范围内的记录数:SELECT COUNT(*) FROM table_name WHERE column_name BETWEEN value1 AND value2;45. 查询表中数据满足多个条件的平均值:SELECT AVG(column_name) FROM table_name WHERE condition1 AND condition2;46. 查询表中数据满足一个条件但不满足另一个条件的平均值:SELECT AVG(column_name) FROM table_name WHERE condition1 AND NOT condition2;47. 查询表中数据在指定模式下匹配的平均值:SELECT AVG(column_name) FROM table_name WHERE column_name LIKE 'pattern';48. 查询表中数据在指定值范围内的平均值:SELECT AVG(column_name) FROM table_name WHERE column_name BETWEEN value1 AND value2;49. 将查询结果按照指定字段进行分组并计算总和、平均值、最大值、最小值:SELECT column1, SUM(column2), AVG(column2), MAX(column2), MIN(column2) FROM table_name GROUP BY column1;50. 查询表中数据满足多个条件的总和:SELECT SUM(column_name) FROM table_name WHERE condition1 AND condition2;51. 查询表中数据满足一个条件但不满足另一个条件的总和:SELECT SUM(column_name) FROM table_name WHERE condition1 AND NOT condition2;52. 查询表中数据在指定模式下匹配的总和:SELECT SUM(column_name) FROM table_name WHERE column_name LIKE 'pattern';53. 查询表中数据在指定值范围内的总和:SELECT SUM(column_name) FROM table_name WHERE column_name BETWEEN value1 AND value2;54. 查询表中数据在两个字段间的总和:SELECT SUM(column_name1 + column_name2) FROM table_name;55. 查询表中数据在两个字段间的平均值:SELECT AVG(column_name1 + column_name2) FROM table_name;56. 查询表中数据在两个字段间的最大值:SELECT MAX(column_name1 + column_name2) FROM table_name;57. 查询表中数据在两个字段间的最小值:SELECT MIN(column_name1 + column_name2) FROM table_name;58. 查询表中数据在两个字段间的个数:SELECT COUNT(column_name1 + column_name2) FROM table_name;59. 查询表中数据在两个字段间的去重记录数:SELECT COUNT(DISTINCT column_name1 + column_name2) FROM table_name;60. 查询表中数据在两个字段间的记录满足条件的个数:SELECT COUNT(*) FROM table_name WHERE column_name1 + column_name2 >= value;这些试题涵盖了SQL编程的各种常见知识点,希望对您有帮助!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MySql考试题姓名:________ 成绩:________一、选择题(40分)1.SQL 指的是?C(A) Strong Question Language (B) Structured Question Language (C) Structured Query Language2.哪条SQL 语句用于更新数据库中的数据?C(A)MODIFY (B)SA VE AS (C)UPDATE (D)SA VE3.哪条SQL 语句用于删除数据库中的数据?B(A)COLLAPSE (B)DELETE (C)REMOVE4.哪条SQL 语句用于在数据库中插入新的数据?D(A) INSERT NEW (B)ADD RECORD (C)ADD NEW (D)INSERT INTO5.通过SQL,您如何从"Persons" 表中选取"FirstName" 列?B(A)SELECT Persons.FirstName (B)SELECT FirstName FROM Persons(C)EXTRACT FirstName FROM Persons6.通过SQL,您如何从"Persons" 表中选取所有的列?C(A)SELECT [all] FROM Persons (B)SELECT Persons(C)SELECT * FROM Persons (D)SELECT *.Persons7.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值等于"Peter"的所有记录?D(A)SELECT [all] FROM Persons WHERE FirstName='Peter'(B)SELECT * FROM Persons WHERE FirstName LIKE 'Peter'(C)SELECT [all] FROM Persons WHERE FirstName LIKE 'Peter'(D)SELECT * FROM Persons WHERE FirstName='Peter'8.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值以"a" 开头的所有记录?A(A)SELECT * FROM Persons WHERE FirstName LIKE 'a%'(B)SELECT * FROM Persons WHERE FirstName='a'(C)SELECT * FROM Persons WHERE FirstName LIKE '%a'(D)SELECT * FROM Persons WHERE FirstName='%a%'9.哪个SQL 关键词用于对结果集进行排序?D(A)ORDER (B)SORT BY (C)SORT (D)ORDER BY10.通过SQL,您如何向"Persons" 表插入新的记录?C(A)INSERT ('Jimmy', 'Jackson') INTO Persons (B)INSERT V ALUES ('Jimmy', 'Jackson') INTO Persons (C)INSERT INTO Persons V ALUES ('Jimmy', 'Jackson') 11.以下聚合函数求数据总和的是( B )A.MAX B.SUM C.COUNT D.A VG12.SELECT语句的完整语法较复杂,但至少包括的部分是( A )A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO13.SQL语句中的条件用以下哪一项来表达( C )A.THEN B.WHILE C.WHERE D.IF14.以下能够删除一列的是( B )A.alter table emp remove addcolumnB.alter table emp drop column addcolumnC.alter table emp delete column addcolumnD.alter table emp delete addcolumn15.联合查询使用的关键字是( A )A.UNIONB.JOINC.ALLD.FULL16.有订单表orders,包含用户信息userid, 产品信息productid, 以下( D )语句能够返回至少被订购过两回的productid?A. select productid from orders where count(productid)>1B. select productid from orders where max(productid)>1C. select productid from orders where having count(productid)>1 group by productidD. select productid from orders group by productid havingcount(productid)>117.UNIQUE惟一索引的作用是( A )A.保证各行在该索引上的值都不得重复B.保证各行在该索引上的值不得为NULLC.保证参加惟一索引的各列,不得再参加其他的索引D.保证惟一索引不能被删除18.查找条件为:姓名不是NULL的记录( C )A.WHERE NAME ! NULL B.WHERE NAME NOT NULLC.WHERE NAME IS NOT NULL D.WHERE NAME!=NULL19.在SQL语言中,子查询是(D)。

A.选取单表中字段子集的查询语句B.选取多表中字段子集的查询语句C.返回单表中数据子集的查询语言D.嵌入到另一个查询语句之中的查询语句20.查找表结构用以下哪一项( D )A.FIND B.SELECT C.ALTER D.DESC二、编程题(共60分)1.请说出drop、delete、truncate的区别(10分)2.根据下表写出SQL脚本。

(30分)要求:1)查出“计算机系”的所有学生信息。

Select * from 学生信息表where 院系ID =(Select 院系ID from 院系信息表where 院系名称=’计算机系’)2)查出“赵和堂”所在的院系信息。

Select 院系信息表.院系ID,院系名称,地址,联系电话from 学生信息表join 院系信息表on 学生信息表.院系ID=院系信息表.院系ID where 姓名=’赵和堂’;3)查出在“行政楼”办公的院系名称。

Select 院系名称from 院系信息表where 地址like ‘%行政楼%’4)查出男生女生各多少人。

Select 性别,count(*) from 学生信息表group by 性别5)查出跟“秦奕”同籍贯的所有人。

Select 姓名from 学生信息表where 籍贯=(Select 籍贯from 学生信息表where 姓名=’秦奕’) and 姓名<>’秦奕’6)查出有“河北”人就读的院系信息。

Select * from 院系信息表where 院系ID in(Select 院系ID from 学生信息表where 籍贯=’河北’)7)查出跟“福建女生”同院系的所有学生的信息。

8)查出学生信息表中由两个字组成的同学的姓名。

9)查出赵修平同学所在院系的名称及联系电话。

10)查出所有姓赵的同学的籍贯。

3. 学生成绩查询系统。

(10分)要求:1)查询选修了Oracle 的学生姓名;2)查询姜振国同学选修了的课程名字;Select * from 表1 join 表2 on 表1.id=表2.id join 表三on 表2.id=表3.id 3)查询只选修了1门课程的学生学号和姓名;Select 学生ID,姓名from 学生信息表where 学生ID in(Select 学生ID from 选课表group by 学生ID having count(*)=1)4)查询选修了至少3门课程的学生信息;Select 学生ID,姓名from 学生信息表where 学生ID in(Select 学生ID from 选课表group by 学生ID having count(*)>=3)5)查询js这门课的平均分4.有一个关于公司员工信息的数据库empinfo。

部门表和员工基本信息表是其中的两个表,表中信息如下:(10分)部门表depts (dept_id、dept_name、description)说明:dept_id 部门编号 dept_name 部门名称description 部门描述员工表employees(id、name、gender、dept_id、join_time、salary、address、age、des)说明:id员工号name员工姓名gender性别dept_id所在部门join_time 加入时间salary工资address地址 age年龄des描述要求:画出E-R图并写出建表语句。

相关文档
最新文档