sqlserver测试题及答案

sqlserver测试题及答案

2023年7月13日发(作者:)

Sql server一期内部测试题

一选择题

1、 _______是指组成表的各列的名称及数据类型,也就是日常表格的“栏目信息”。(选择1项)

A) 表型

B) 记录

C) 属性

D) 关键字

2、在SQL查询时,使用()子句指出的是分组后的条件。 (选择1项)

A) WHERE

B) HAVING

C) WHEN

D) GROUP

3、已知关系: 员工(员工号,姓名,部门号,薪水) PK=员工号 FK=部门号

部门(部门号,部门名称,部门经理员工号) PK=部门号(PK指的式主键 FK指的式外键)

现在要查询部门员工的平均工资大于3000的部门名称及平均工资,下面哪两句查询正确:(选择2项)

A) SELECT 部门名称,AVG(薪水) FROM 部门 P,员工 E WHERE E.部门号=(SELECT部门号 FROM 部门 WHERE 部门名称 = P.部门名称) GROUP BY 部门名称 HAVING AVG(薪水)> 3000

B) SELECT 部门名称,AVG(薪水) FROM 部门 P INNER JOIN 员工 E ON P.部门号=E.部门号 GROUP BY 部门名称 WHERE AVG(薪水)> 3000

C) SELECT 部门名称,AVG(薪水) FROM 部门 P INNER JOIN 员工 E ON P.部门号=E.部门号 GROUP BY 部门名称 HAVING AVG(薪水)> 3000

D) SELECT 部门名称,AVG(薪水) FROM 部门 P,员工 E WHERE P.部门号=(SELECT部门号 FROM 部门 WHERE 部门名称 = P.部门名称) GROUP BY 部门名称 HAVING AVG(薪水)> 3000

4、要将表userInfo从数据库中删除,用以下的哪个命令?(选择1项)

A) DROP TABLE userInfo

B) TRUNCATE TABLE userInfo

C) DELETE FROM userInfo

D) DROP FROM userInfo

5、在以下哪种情况下使用主键约束而不使用唯一约束:(选择1项)

A) 列的值允许为空值

B) 列有外键引用

C) 列的值不允许为空值

D) 以上都不对

6、在数据库表employee中查找字段empid中以两个数字开头第三个字符是下画线“_”的所有记录。

请选择以下正确的语句:(选择1项)

A) SELECT * FROM employee WHERE empid LIKE '[0-9][0-9]_%'

B) SELECT * FROM employee WHERE empid LIKE '[0-9][0-9]_[%]'

C) SELECT * FROM employee WHERE empid LIKE '[0-9]9[_]%'

D) SELECT * FROM employee WHERE empid LIKE '[0-9][0-9][_]%'

7、函数FLOOR(-41.3)返回 ______。(选择1项)

A) -41

B) -42

C) 41

D) 以上都不是

8、下面哪个函数返回的是满足给定条件的平均值:(选择1项)

A) Max(col_name)

B) Avg(col_name)

C) Sum(col_name)

D) COUNT(col_name)

9、合并多个查询结果集,应使用( )关键字。

E)

F)

10、在SQL查询时,使用WHERE子句指出的是。(选择1项)

A) 查询目标

B) 查询结果

C) 查询条件

E) 查询视图

11、下面有关HAVING子句描述错误的是。(选择1项)

A) HAVING子句必须与GROUPBY子句同时使用,不能单独使用

B) 使用HAVING子句的同时不能使用WHERE子句

C) 使用HAVING子句的同时可以使用WHERE子句

D) 使用HAVING子句的作用是限定分组的条件

12、已知关系: 厂商(厂商号,厂名) PK=厂商号

产品(产品号,颜色,厂商号) PK=产品号,FK=厂商号

A、join

C、into

B、union

D、and 表如下:

厂商 产品

厂商号

C01

C02

C03

厂名

宏达

立仁

广源

产品号

P01

P02

颜色

厂商号

C01

C03

若再往产品表中插入如下记录:

I(P03,红,C02) II(P01,蓝,C01)

III(P04,白,C04) IV(P05,黑,null)

能够插入的记录是。(选择1项)

A) I,II,IV

B ) I,III

C ) I,II

D ) I,IV

13、要删除表userInfo中的所有记录,用以下的哪两个命令?(选择2项)

A) DROP TABLE userInfo

B) TRUNCATE TABLE userInfo

C) DELETE FROM userInfo

D) DROP FROM userInfo

14、Delete 语句是_____语句?(选择1项)

A) DQL

B) DML

C) DDL

D) DCL

15、SQL语句中,可以使用( )语句一次插入( )条记录,如果想要一次插入多条记录,必须在语句中使用( )语句。

A、Insert,一,Select B、Insert,二,Update

C、Update,一,Insert D、Delete,三,Select

16、在数据库pubs的表authors中查找以 ean 结尾的所有 4 个字母的作者所在的行。

请选择以下正确的语句:(选择1项)

A) SELECT * FROM authors WHERE au_fname LIKE '_ean'

B) SELECT * FROM authors WHERE au_fname LIKE '%ean'

C) SELECT * FROM authors WHERE au_fname LIKE '[_ean]'

E) SELECT * FROM authors WHERE au_fname LIKE '[%]ean'

17 你是一名电子商务网站的数据库开发人员。你正在建立一个数据库来存储网站的订单信息。这些信息从一个client/server应用程序的client端被输入,每输入一条新订单,就会产生一个唯一的订单号(OrderNumber),并且订单号是以递增的顺序产生的。每天的订单数量大概在10,000条左右。

你建立了一个新表Orders并且向其中加入了一个字段OrderNumber。下一步你该做什么?

A 将OrderNumber的数据类型设置为uniqueidentifier。

B 将OrderNumber的数据类型设置为int,并为其设置IDENTITY属性。

C 将OrderNumber的数据类型设置为int,然后建立一个用户定义的sql语句来找出表中最大的订单号。

D 将OrderNumber的数据类型设置为int。然后建立一个新表NextKey,向其中加入NextOrder(下一张订单)字段, 将NextOrder的数据类型设置为int。建立一个存储过程来获得或更新表NextKey中的值。

18、以下那些是系统数据库:

A SQL Server

B tempdb

C systemdb D model

19、检索序列号(Prono)为空的所有记录( )。

A、

select * from Tab_ProInfor where Prono = ‘’;

B、

select * from Tab_ProInfor where Prono = 0;

C、

select * from Tab_ProInfor where Prono is null;

D、select * from Tab_ProInfor where Prono = ‘0’

20 charindex(‘hy’,’huayuguoji’)返回的结果为

A 0

B 1

C 4

D -1

二 sql语句测试提交sql语句

、学校图书馆借书信息管理系统建立三个表:

学生信息表:student

字段名称

stuID

stuName

major

图书表:book

字段名称

BID

title

author

借书信息表:borrow

字段名称

borrowID

stuID

BID

char(10)

char(10)

char(10)

数据类型 说明

借书编号,主键

学生编号,外键

图书编号,外键

char(10)

char(50)

char(20)

数据类型 说明

图书编号,主键

书名

作者

char(10)

Varchar(10)

Varchar(50)

数据类型 说明

学生编号,主键

学生名称

专业 T_time

B_time

datetime

datetime

借书日期

还书日期

完成以下题目 (利用企业管理器 创建数据库 数据表 增加约束 该步骤略)

1) 利用sql语句录入测试数据 测试数据见下图(为节省时间只提交每个表录入数据的第一条sql语句 即本题共需要提交三条sql语句) (该题6分)

Book表

Borrow表

Student表

2) 查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、学生名称、图书编号、图书名称、借出日期;参考查询结果如下图所示:(该题6分)

select ,stuname,,title,t_time from student st,book bk,borrow br

where = and = and t_time>='2007-12-15' and t_time<='2008-1-8' and major='计算机'

3) 查询所有借过图书的学生编号、学生名称、专业;参考查询结果如下图所示:(该题6分)

select stuid,stuname,major from student where stuid in (select stuid from borrow)

4) 查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期、归还日期;参考查询结果如下图所示:(该题6分)

select stuname,title,t_time,b_time from book bk,student st,borrow br

where = and = and author='安意如'

5) 查询目前借书但未归还图书的学生名称及未还图书数量;参考查询结果如下图所示:(该题6分)

select stuname, count(*) from student st,borrow br where = and b_time is null

group by ,stuname

6) 利用sql语句删除已经还书的的信息(该题5分)

delete from borrow where B_time is not null

7) 利用sql语句把五月的专业更改为”数学应用” (该题5分)

update student set major='数学应用' where stuname='五月' 三sql语句测试

根据以下对表的描述要求完成SQL语句:

选课表(Register)

C_ID S_ID T_ID R_Date R_score

部门表(depD_ID 列名 R_ID D_N类型 varchar varchar Varchar varchar datetime numeric(5,2) varchar var意义 选课编课程编学生编教师编选课时成绩

号 号 号 间

学生表(Student)

T_Mail S_ID S_Name

varchar

部门编部门号

教师表(Teacher)

T_Name D_ID

课程列名 T_ID S_Mail C_I类型 varchar varchar Varchar varchar varchar varchar var学生邮课箱

意义 教师编教师姓部门号 教师邮学生编学生姓名

1、

名 箱 号 号

根据上面表的定义,写出创建教师(teacher)和部门表(dept)的SQL语句,要求:TID定义为主键,DID定义为外键。

Create table dept

(

did varchar(15) primary key,

Dname varchar(15)

)

Create table teacher

(tid varchar(15) primary key,

tname varchar(15),

did varchar(15) references dept(did),

,tmail varchar(15)

)

2、 向选课表添加一行数据:

选课编号 课程编号 学生编号 教师编号 选课时间 成绩 HYR0001 HYC001 HYS001 HYT001 2008/6/12 76

Insert into Register

Values(‘HYR0001’,’HYC001’,’HYS001’,’HYT001’,’2008/6/12’,76)

3、

4、

把所有HYD01部门的老师的邮箱添加前缀“Mailto”。

列出所有教师的姓名和部门名

Update teacher set tmail=’Mailto’+tmail where did=’HYD01’

Select , from

Teacher t join dept d

On =

5、 列出每个学生的姓名和其平均成绩

Select ,avg()

From student s join register r

On =

Group by

6、 列出没有带课的老师的名字

Select tname from teacher

Where tid not in

(select tid from register)

7、 列出教学成绩最好(老师的各科总平均成绩高)的老师的名字

Select tname from teacher

Where tid = (Select top 1 tid from register group by tid order by avg(R_score) desc)

8、 列出所有学生姓名,授课教师姓名,课程名称,选课时间,成绩,并包含没有参加选课的学生姓名。

Select ,,,,

From register r

Join teacher t on =

Join course c on =

Right outer Join student s on =

(注意sname,tanme,cname属于哪个表别忘了加上)

9、

列出高于学科平均成绩的学生编号和其成绩

Select sid,rscore

from register outers

where rscore>

(select avg(rscore) from register inners where =) 10 删除姓张的学员信息

delete from student where S_Name like ‘张%’

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689247592a225665.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信