admin 管理员组

文章数量: 1184232


2024年3月13日发(作者:it职业培训)

2012年SQL server考试试题(A)

一、选择题(每小题1分,共20分)。

1、若欲从学员表中提取数据填充到通讯表中,如下SQL语句:

Insert into Tongxunlu(‘姓名’,’地址’,’电子邮件’)

Select Sname SAddress,Semail

From Students

执行后输出的结果可能是( C )。

A、 向表Tongxunlu中添加了多条信息;

B、 显示出错信息,错误的原因是into应该大写;

C、 显示出错信息,错误的原因是姓名,地址,电子邮件两侧不应该有‘号;

D、 显示出错信息,insert into 语句应该在select和from中间;

2、在SQL server 2008中,设计用户表时,固定长度的身份证号最好采用下面( A )数

据类型进行存储。

A、Char B、Text C、Varchar D、Int

3、在SQL server 2008中,学生表student中包含字段:学生编号sid(主键),学生姓名

SaName。成绩表score包含字段:课程编号cid,学生编号sid(外键),学生成绩score;

其中学生表包含10行数据,成绩表包含6行记录(且sid列没有重复值),那么执行sql

语句:select*from student left outer join score on =,将返回( C )条

记录。

A、0 B、6 C、10 D、16

4、在SQL server 2008中提供了一些字符串函数,以下说法错误的是( B )。

A、select right(‘hello‘,3)返回值为:llo;

B、select trim(‘hello‘)返回值为:hello(前后都无空格);

C、select replace(‘hello‘,’e‘,’o‘)返回值为:hollo;

D、select ltrim(rtrim(‘hello‘))hello(前后都无空格);

5、在SQL server2008中,假定grade(成绩)表中包含字段:sID(学号)cID(班级编

号) lang(语文课成绩)math(数学课成绩),那么计算所有学生人数和各科最高成绩的

SQL语句是( A )。

A、select count(*),max(lang),max(math)from grade;

第 1 页 共 9 页

B、select count(*),max(lang),max(math)from grade group by sID;

C、select sum(*),max(lang),max(math)from grade group by sID;

D、select sum(*),max(lang),max(math)from grade;

6、在SQL server 2008中,当要处理学生表中name(学生姓名)列所有姓“王”的记录

时,在SQL语句中where子句的写法应该是( C )。

A、where name=‘王%‘ B、where name like ’王*‘

C、where name like ‘王%‘ D、where name like’*王%‘

7、在SQL server 2008中,使用update语句更新数据表中的数据,以下说法正确的是( B )。

A、每次只能更新一行语句;

B、每次可以更新多行语句;

C、如果没有数据项被更新,将提示错误信息 ;

D、更新数据时,必须带有where条件子句;

8、在SQL server 2008中,创建一个名为“Customers”的新表,同时要求新表中包含“clients”

的所有记录,spl语句是( A )。

A、select*into Customers from clients;

B、select into Customers from clients;

C、insert into Customers select*from clients;

D、insert Customers select*from clients;

9、在SQL server 2008中,要查找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?”;

10、在SQL server 2008中,有一个product(产品)表,包含字段:pname(产品名称),

要从此表中筛选出产品名称为“苹果”或“香蕉”的记录,下列语句正确的是( C )。

A、select *from product on pname=“苹果”or pname=“香蕉”;

B、select *from product on pname=“苹果”and pname=“香蕉”;

C、select *from product where pname=“苹果”or pname=“香蕉”;

第 2 页 共 9 页

D、select *from product where pname=“苹果”and pname=“香蕉”;

11、在SQL server 2008中,有students(学生表),包含字段:SID(学号),SName(姓

名),Grade(成绩)。先要将所有的学生成绩加10分,以下SQL语句正确的是( D )。

A、update students set Grade=Grade+10 where SID=1;

B、update * set Grade=Grade+10;

C、update * from students set Grade=Grade+10;

D、update students set Grade=Grade+10;

12、假设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生姓名,

CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0--100。若要把“张二

的化学成绩80分”插入到S中,则可用( D )。

A、add into S values('张二','化学','80');

B、insert into S values('张二','化学','80');

C、add into S values('张二','化学',80);

D、insert into S values('张二','化学',80);

13、在SQL server 2008中,假设表users包含主键列id,那么执行“update users set id=20

where id=30”后的结果是( C )。

A、如果表中含有id为30的记录,但不包含id为20的记录,则更新失败;

B、执行错误,因为主键列不可以被更新;

C、如果表中同时含有id为20和id为30的记录,则更新失败;

D、如果表中不包含id为20和id为30的记录,则更新一行记录;

14、在SQL server 2008中,有语句“update members set Salary=Salary+300”,下列表述

正确的是( A )。

A、将members表中工资都增加300 B、删除工资为300的记录

C、查询工资为300的记录 D、修改members工资都扣除300

15、在SQL server 2008中,有students(学生表),包含字段:SID(学号),SName(姓

名),Grade(成绩)。先要将所有的学生成绩加10分,以下SQL语句正确的是( D )。

A、update students set Grade=Grade+10 where SID=1;

B、update * set Grade=Grade+10;

C、update * from students set Grade=Grade+10;

第 3 页 共 9 页

D、update students set Grade=Grade+10;

16、在SQL server2008中,假定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;

17、在SQL server2008中,假定grade(成绩)表中包含字段:sid(学号),lang(语文

成绩)。那么列出语文成绩在80分到90分的学生的SQL语句是( C )。

A、select*from grade where lang in(80,90);

B、select*from grade having lang in(80,90);

C、select*from grade where lang between80and90;

D、select*from grade having lang between80and90;

18、在SQL server2008中,执行如下的SQL语句:select*from item as a left join

ordredetails as b on =d,将返回( C )。

A、item和orderdetails表中的相关记录以及orderdetails表中其余的不相关记录;

B、item和orderdetails表中的相关记录;

C、item和orderdetails表中的相关记录以及item表中其余的不相关记录;

D、提示语法错误;

19、在SQL server2008中,有一个proinfo(商品信息)表,包含字段:proid(商品编码

号),procatg(商品类别),proprice(商品价格),下列选项( B )可以查询每一类的平

均价格。

A、select procatg,avg(proprice)from proinfo;

B、select procatg,avg(proprice)from proinfo group by procatg;

C、select avg(proprice)from proinfo order by procatg;

D、select avg(proprice)from proinfo ;

20、在SQL server2008中,当执行:Select au_id, title_id, sum(royaltyper)from

titleauthor group by title_id, au_id order by title_id, au_idSQL语句时,会发生( A )。

第 4 页 共 9 页

A、在结果集中,对每一个不同的au_id的值和title_id的值的组合都会有一行;

B、在结果集中,每一行中au_id的值都不会相同;

C、该语句会运行失败,因为查询输出的次序和分组的次序不一样;

D、该语句会运行失败,因为royaltyper列也应进行分组;

二、填空题(每空1分,共25分)。

1、在SQL server2008中的日期类型是: 。

2、在数据查询中,排序使用的命令是: 。

3、在查询过程中,去掉重复项使用的命令是: 。

4、插入数据的语法是: 。

5、删除数据的语法是: 。

6、模糊查询中通配符%、—、[ ]分别代表的意义是: 、

、 。

7、在SQL server2008中,and,not,or的优先级顺序是: 。

8、请根据要求,写出下面的聚合函数:

① 求平均值: ;② 求最大值: ;③ 求最小值: 。

④ 统计函数: ;⑤ 函数求和: ;

9、视图和分组的关键字分别是: 和 。

10、获取当前日期的函数是: 。

11、SQL中文全称: 。

12、创建数据库的基本语法: 。

13、删除数据库的基本语法: 。

14、修改数据的基本语法: 。

15、删除数据的基本语法: 。

16、求绝对值的函数: 。

三、简答题(每小题3分,共30分)。

1、请你写出创建数据库中的数据表的基本语法。

2、请你写出你所学过的SQL 2008中所有的数据类型,以及各个类型所包括的子类型。

第 5 页 共 9 页

3、主键约束的语法是什么?它有什么特点?

4、请你写出在SQL 2008中的所有约束。

5、请你写出在SQL 2008中所有的日期函数。

6、请你写出在SQL 2008中所有的数学函数。

7、请你写出在SQL 2008中所有的字符串函数。

8、请你写出联合查询的分类以及语法。

第 6 页 共 9 页

9、在SQL 2008中,如何合并表?请写出合并表的条件。

10、请你列举出SQL 2008中聚合函数所包括的几个常用函数,并分别简述它们各自的功

能。

四、程序实现题(共25分)。

阅读下面图纸:创建以自己的名字命名的数据库,按照下面数据关系图创建数据库及

表结构和相关约束,并插入测试数据,如图:

顾客表:buyers

第 7 页 共 9 页

产品表:products 销售表:sales

图纸阅读完毕,请根据要求回答下列问题:

1、创建以自己名字命名的数据库,根据上面的数据库关系图创建表,并添加相应的约束。

插入不少于3条的数据。(5分)

2、通过表连接实现如下效果。(3分)

3、查询顾客姓名中包含‘a’的或者顾客年龄在40岁以上的顾客信息。如图:(3分)

第 8 页 共 9 页

4 查找 buyers 表中所有电话号不是 以13开头 的电话号码。(3分)

5 查找名字为 Chery 或 Shery 的顾客,要求使用用通配符’[]’。(3分)

6 查询出没有购买过商品的客户的信息。如下:(3分)

7、查询顾客编号为3的顾客姓名以及所购买的商品总量,如图:(3分)

8、查询顾客的平均年龄。(2分)

第 9 页 共 9 页


本文标签: 表中 成绩 学生