SQL内测试题
更新时间:2023-12-09 07:00:01 阅读量: 教育文库 文档下载
- SQL语句测试题推荐度:
- 相关推荐
一、选择题(共40道)
1) (D )是SQLServer数据库的主数据文件的扩展名。(选择一项)
A、 .sql B、 .mdb C、 .ldf D、 .mdf
2) 在SQL Server 2005中,数据完整性是指( B)。(选择一项)
A、 数据库中所有数据格式一致 B、 数据库中数据的准确性 C、 所有的数据都存入了数据库中 D、 数据库中不存在数据冗余
3) 在SQL Server 2005中,假设表users包含主键列id,那么执行“Update users SET id=20
WHERE id=30”,执行的结果可能是(A )。 (选择一项)
A、 如果表中同时含有id 为20和id 为30的记录,则更新失败
B、 如果表中含有id为30的记录,但不包含id为20的记录,则更新失败 C、 执行出错,因为主键列不可以被更新
D、 如果表中不包含id 为20和id 为30的记录,则更新一行记录 4) 关于Sql Server的字符串函数,以下说法不正确的是( A)。(选择一项)
A、 select trim(? hello ?) 返回值为: hello (前后都无空格) B、 select ltrim(rtrim(? hello ?)) 返回值为: hello (前后都无空格) C、 select replace(?hello?,?e?,?o?) 返回值为: hollo D、 select right(?hello?,3) 返回值为: llo
5) 在SQLServer 2005中,查询score表中stuName字段数据。(C ) (选择一项)
A、 select * from score
B、 select * from score where stuName=”” C、 select stuName from score
D、 select stuName from score student=””
6) 在SQL Server 2005中,假定有studentCourse(学生选修课)表,其结构为:sID(学号),cID(课程.编号) ,score(成绩).那么列出所有选修课程超过5门的学生学号以及选修课数目的SQL 语句的是(C)。(选择一项)
a) select sID,count(cID) from studentcourse where count(cID)>5
b) select sID,count(cID) from studentcourse group by sID where count(cID)>5 c) select sID,count(cID) from studentcourse group by sID having count(cID)>5 d) select sID,count(cID) from studentcourse group by cID having count(cID)>5 7) 在SQL Server 2005中,现有客户代表customer(主键:客户编号cid),包含10行数据。订单表orders(外键:客户编号cid),包含6行数据。执行sql语句:select * from customers
inner join orders on customers.cid=orders.cid 返回5行记录,则执行sql语句:select * from customers inner join orders on customers.cid<>orders.cid将返回( B)行记录。(选择一项) A、 11 B、 55 C、 60 D、 5
8)在SQL Server 2005中,要查找eatables 表中item_desc 字段的值以“CHOCO”开头(如CHOCOLATE、CHOCOPIE)的所有记录。下列SQL语句正确的是( C )。(选择一项) A、select * from eatables where item_desc LIKE “CHOCO” B、select * from eatables where item_desc =“CHOCO_”
C、select * from eatables where item_desc LIKE “CHOCO%” D、select * from eatables where item_desc LIKE “%CHOCO?”
9)在SQL Server2005数据库中,有students(学生)表,包含字段:SID(学号),SName(姓名),Grade(成绩).现查找所有学员中成绩最高的前5名学员.下列SQL语句正确的是( D ). (选择一项)
A、SELECT TOP 5 FROM students ORDER BY Grade DESC B、SELECT TOP 5 FROM students ORDER BY Grade C、SELECT TOP 5 * FROM students ORDER BY Grade
D、SELECT TOP 5 * FROM students ORDER BY Grade DESC
10)在SQL Server2005数据库中,客户表customers包含字段:客户编号cid和名称cname,订单表orders包含字段:客户编号cid,如果需要通过查询获得有订单的客户的名称,下面查询语句中( B ) 可以实现该需求. (选择一项)
A、SELECT customers.cname from customers LEFT JOIN orders ON customers.cid = orders.cid B、SELECT customers.cname from customers INNER JOIN orders ON customers.cid = orders.cid C、SELECT customers.cname from customers RIGHT JOIN orders where customers.cid = orders.cid
D、SELECT customers.cname from customers JOIN orders WHERE customers.cid = orders.cid 11)在SQL Server2005数据库中,使用update语句更新数据库表中的数据,以下说法正确的是( B ) (选择一项)
A、每次只能更新一行数据 B、每次可以更新多行数据
C、如果没有数据项被更新,将提示错误信息 D、更新数据时,必须带有WHERE条件子句
12)在SQL Server2005数据库中,有一个book(图书)表 ,包含字段:bookId(图书编号),title(书名),pDate(出版日期),author(作者)等字段,其中( )字段作为该表的主键是最适当的.(选择一项)
A、bookID B、title C、pDate D、author
13)在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是(B )。(选择一项)
A、 master B、 pubs C、 model D、 msdb
14)在SQL Server2005中,(D )约束表示字段的NOT NULL属性。(选择一项)
A、主键 B、检查 C、默认值 D、非空
15)在SQL Server 中创建一个名为Customers的新表,同时要求该表与clients表的表结构相同,但不包括clients表的记录,sql语句是(B )。 (选择一项)
A、Select * into customers from clients where false B、Select * into customers from clients where 1<>1 C、Insert into customers select * from clients where false D、Insert into customers select * from clients where 1<>1
16)在SQL Server2005中,有时候需要显示的列名为中文,下列哪项代码具有此功能(C )。(选择一项)
A、 select stuName=?学员姓名? from score B、 select * ?学员姓名? from score C、 select stuName ?学员姓名? from score D、 以上都不正确
17) 取当前时间转换成10位字符串正确的是( C)(选择一项)
A、 select convert(getdate()) B、 select convert(char(10)) C、 select convert(char(10),getdate()) D、 以上都不正确
18)在SQL Server 2005中,学生表student中包含字段:学生编号sid (主键),学生姓名sName, 现在查询所有姓名重复的记录,以下语句正确的是(D )。(选择一项)
A、 select * from student group by sName where count(sid)>1 B、 select * from student where count(sid)>1
C、 select a.* from student a,student b where a. sname=b.sname
D、 select a.* from student a,student b where a. sname=b.sname and a.sid!=b.sid
19)在SQL Server 2005新建查询后,执行以下查询语句,将产生( D )结果.SELECT A INTO T1 FROM T2(选择一项)
A、把T1表和T2表的A列合并输出
B、把T2表中的A列数据行全部插入到T1表的A列中 C、把T1表中的A列数据行全部插入到已经存在的表T2中 D、创建新表T1,并且把T2表中的A列数据行全部插入到T1
20)在SQL Server2005中,下面关于数据完整性的描述正确的是(BD )(选择二项) A、如果数据库中没有重复的数据,即没有数据冗余的时候,数据就是完整的 B、维护数据完整性就是保证数据库中数据的准确性
C、数据库中数据越详细则越符合数据完整性
D、维护数据完整性可以保证数据的一致性,避免出现没有意义的数据 21)在SQL Server2005中,主键用来实施( B )(选择一项)
A、引用完整性约束 B、实体完整性约束 C、域完整性约束 D、自定义完整性约束 22)在SQL server 2005数据库中,标识列本身没有实际意义,而是为了区分表中不同的记录。下列关于标识列的说法中错误的是( C )。(选择一项)
A、一个表中只能有一格标识列 B、不能对标识列加上默认约束 C、标识列可以使任意数据类型 D、不能更新或输入标识列的值
23)要在SQL Server 2005数据库中创建一个网站用户信息表,其中用户的Email地址用一个字段来存储,规定Email地址中要含有“@”和“.”字符。这一规定可以采用( )来实现。(选择一项)
A、主键约束 B、外键约束 C、检查约束 D、默认约束
24)在SQL Server 2005中,删除表sample中的所有数据,可以使用如下( B )语句。(选择一项)
A、Drop table sample B、delete from sample C、delete*from sample D、drop*from sample
25)在SQLServer 2005中,下列查询条件(AD)可以查询出员工表中的列hometown不是“北京”的纪录。(选择二项)
A、Where hometown!='北京' B、Where hometown not '北京' C、Where hometown is not ‘北京’ D、Where hometown<>‘北京’ 26)在SQLServer2005中,要防止大于100的数据被保存到int类型的列,可以使用( D )。(选择一项)
A、主键约束 B、限制约束 C、外键约束 D、检查约束
27)在SQL Server2005数据库中,系统提供聚合函数对列中的数据进行计算。以下聚合函数中,( A )用于返回表达式中所有值的总和(选择一项)
A、SUM B、MAX C、AVG D、COUNT 28)在SQL Server 2005数据库中,以下关于主键的说法正确的是( B )(选择一项) A、表创建后,一旦设定了主键,主键就不能更改 B、表中可以没有主键 C、主键列的值可以重复 D、主键列允许插入空值 29)在SQL Server 2005数据库中,学生成绩表score中包含字段:学生编号sid,课程编号cid,分数score,现在查询各个课程的平均得分,以下语句正确的是(BD )(选择二项) A、select sum(score)/count(score)from score
B、select sum(score)/count(score)from score group by cid C、select avg(score)from score order by cid D、select avg(score)from score group by cid
30)在SQLSerever2005数据库中,字符串函数可以用于控制返回给用户的字符串,以下( A )函数用于将传递给它的字符串转变为大写(选择一项)
A、UPPER B、LOWER C、RTRIM D、STUFF
31)在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括( A )和附加数据库(选择一项) A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 32)在SQL Server2005中,学生表student中包含字段:学生编号sid(主键),学生姓名sName。成绩表score包含字段:课程编号cid,学生编号sid(外键),学生成绩score;其中学生表包含10行数据,成绩表包含6行记录(且sid列没有重复值),那么执行sql语句:select*from
srudent left outer join score on srudent.sid=score.sid,将返回( C )条记录(选择一项) A、0 B、6 C、10 D、16
33)Sql server提供了一些字符串函数,以下说法中正确的是( AC )(选择二项) A、select len(‘hello’)(hello前后都无空格) 返回值为:5 B、select len(‘hello’)(hello前后都有一个空格) 返回值为:5 C、select len(‘hello’)(hello前后都有一个空格) 返回值为:6 D、select len(‘hello’)(hello前后都有一个空格) 返回值为:7 34)在SQL Server2005中,附加数据库操作是指( B )(选择一项) A、把SQL Server 数据库文件保存为其他数据文件
B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉
35)在SQL Server 2005中,假定grade(成绩)表中包含字段:cID(班级编号)、lang(语文课成绩)、math(数学课成绩)、eng(英语课成绩),那么计算不同班级每门课程的平均成绩的SQL语句是( D )(选择一项)
A、SELECT cid,AVG((lang,math,eng) FROM grade GROUP BY lang,math,eng
B、SELECT cID,AVG(lang),AVG(math),AVG(eng) FROM grade GROUP BY lang,math,eng C、SELECT cID,AVG(lang,math,eng) FROM grade GROUP BY cID
D、SELECT cID,AVG(lang),AVG(math),AVG(eng) FROM grade GROUP BY cID
36)数据库系统发展到今天,占统治地位的乃然是关系数据库。关系数据库中所谓的数据冗余指的是( B )(选择一项)
A、数据不准确 B、存在重复数据 C、数据之间不存在关系 D、数据量太大
37)在SQL Server2005数据库中,可以使用( B )关键字来限制返回的数据行数(选择一项)
A、limit B、top C、count D、sum
38)在SQL server 2005数据库中,雇员信息表的结构如下所示,则选项中的语句能够正确查询出薪水低于2000元的性别为男性的雇员信息的是( A )(选择一项) 表名 列名 Employee 主键 Employee 数据类型 长度 是否容许为空 默认值 描述 4 不允许 Employee int Name Age Sex 0 男 标识列 雇员姓名 雇员年龄 雇员性别 雇员学历 雇员职位 雇员薪水 varchar 50 不允许 int char 4 2 不允许 不允许 Education varchar 50 不允许 Job Salary varchar 50 不允许 money 8 不允许
A、select * from Employee where (not(Salary>=2000))and(Sex='男') B、select * from Employee where (not(Salary>=2000))&&(Sex='男') C、select * from Employee where (not(Salary<2000))and(Sex='女') D、select * from Employee where ((Salary<2000))&&(Sex='男')
39)在SQL Server2005数据库中,有一个course(课程)表,包含字段;cName(课程名称),
grade(学分)。要从此表中查询所有学分不在1-4之间的课程名称,以下语句正确的是( BD )(选择二项)
A、select cName from course where grade in(1,4)
B、select cName from course where grade not between 1 and 4 C、select cName from course where grade not between 4 and 1 D、select cName from course where not (grade>=1 and grade<=4)
40)在SQL Server2005数据库系统中,表Students的主键SCode为表Score的外键StudentID,表Students含有5条数据,表Score含有10条数据,当对表Students和表Score进行如下查询时,将查询出( A )条记录(选择一项)
Select s.Scode from Students as s left join Score as c on (s.Scode=c.StudentID) A、5 B、10 C、15 D、0
二、代码编写题
1、用SQL语句输出显示系统当前日期。格式如下:“2010-6-17”;
Select datename(yy,getdate())+”-”+datename(month,getdate())+”-”+datename(day,getdate())
2、有一张图书信息表bookinfo,其中有一个价格price字段。要求写一个查询语句:查询出价格为15.6元、18元和25元的图书信息
Select * from bookinfo where price in(15.6,18,25)
3、有两种表,一个是图书信息表,一个是借阅表。 图书信息表 列名 Bookid Words Bookname Author Press Price remark 图书借阅表 列名 Borrowid Borrowname Bookid BorrowBook 数据类型 Int Varchar(20) Int 是否为空 否 否 是 备注 借阅编号(主键,标识列) 借用人姓名 图书编号(外键,参照图书信息表的bookid) 借阅时间 备注 Books 数据类型 Int Varchar(50) Varchar(50) Varchar(20) Varchar(50) Float Varchar(150) 是否为空 否 否 否 否 否 否 是 备注 图书编号(主键,标识列) 书架名 图书名称 作者 出版社 价格 备注 Borrowtime remark Datetime Varchar(150) 否 是
问题:
(1)向图书表中插入如下数据:
?TP3/12?,?数据库导论?,?王强?,?科学出版社?,17.9,?这本书不错?
?TP3/15?,?计算机基础?,?张小兵?,?电子工业出版社?,27,null
向借阅表中插入如下数据: ?张三?,1,?2010-6-17?,?三天后归还? ?李四?,2,?2010-6-17?,?五天后归还?
(2)修改《数据库导论》这本书的出版社为“高等教育出版社”。 (3)删除单价是20元以下的图书。
(4)查询每本书的作者、出版社和价格。 (5)查询Books表中所有书的价格总和。 (6)查询价格在15元到20元之间的所有图书 (7)查询以TP开头的书架下的所有书。 (8)查询每个出版社出版书的数量。
(9)查询每个人所借书的书名、价格、以及出版社。 (10)查询每本书的借阅人。
正在阅读:
SQL内测试题12-09
就职前与老板面谈需要准备的面试问题03-29
《物流运输管理》试卷及答案11-14
伊斯兰教天课的制度10-28
EHS工作总结09-05
2019-2020学年高中历史 第4单元 亚洲觉醒的先躯 第2课 圣雄甘地教案 新人教版选修4.doc12-25
爱情对联大全02-11
关于上行参考信号DMRS与SRS10-04
股票操作疯狂口诀05-22
考场百态作文700字06-16
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 测试题
- SQL