习题(一)

1)    SQL Server查询分析器中,执行以下T-SQL

Select DateAdd(mm,-1,'2005-9-1')

返回值为(C)。         

       a)    2004-9-1

       b)    2005-8-31

       c)    2005-8-1

       d)    2005-9-2

2)    SQL Server查询分析器中,执行以下T-SQL

Select DateDiff(dd,'2005-8-31','2005-9-1')

将返回(A)。            

       a)    1

       b)    -1

       c)    31

       d)    SQL语句存在语法错误

3)    当今流行的数据库,除了SQL ServerDB2之外,还包括(D)数据库。       

       a)    Linux

       b)    PhotoShop

       c)    FoxBase:数据库

       d)    Oracle

6)    SQL Server以下的检查约束:

A LIKE '13[5-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]

用来(B)。         

       a)    检查身份证号码是否合法

       b)    检查手机号码是否合法

       c)    检查电子邮件是否合法

       d)    检查邮政编码是否合法

7)    以下的SQL语句:

Select A=B FROM ABC

返回的列名为(A)。         

       a)    A          b)    B          c)    AB       d)    存在语法错误

8)    以下的SQL语句:

SELECT StudentID As 学员编号,(Score*0.9+5) As 综合成绩

FROM Score

WHERE Score>60

ORDER BY (Score*0.9+5)

以下说法错误的是(D)。         

       a)    查询输出两列,列名分别为学员编号综合成绩

       b)    只有分数值大于60分的成绩才计算综合成绩

       c)    查询输出的分数将从低到高排列

       d)    以上SQL语句语法错误,不能够在排序列中使用表达式

 

9)    SQL Server查询分析器中执行以下T-SQL

SELECT A INTO T1 FROM T2

将(B)。             

       a)    T1表和T2表的A列合并输出

       b)    T2表中的A列数据行全部插入到T1表的A列中

       c)    把把T1表中的A列数据行全部插入到已经存在的表T2

       d)    创建新表T2,并且把T1表中的A列数据行全部插入到T2

 

10)(A)    SQL Server查询分析器中执行以下T-SQL

SELECT 'A' UNION SELECT 'B' UNION SELECT 'C'

将(A)。            

       a)    输入三行,值分别为ABC

       b)    输出一行,值为ABC

       c)    输出三行,值为ABC

       d)    输出一行,值为A

11)   以下说法正确的是( D)。!!!!!!!!!!!!!!!!!     

       a)    SQL Server是一个数据库  是数据库管理系统

       b)    数据库是由一系列表结构形成的一个文件

       c)    ERPCRM客户管理系统、MIS等都是DBMS

       d)    设计数据库时允许必要的冗余

12)  假设表A中有列B和主键列C,执行更新语句Update A SET C=100 Where C=200,执行结果可能是(D )。标识列不能更新      

       a)    更新了多行数据

       b)    在任何情况下数据库表都不会被更新

       c)    最多只能更新一行数据

       d)    报告错误信息

 

13)  若欲从学员表中提取数据填充到通讯录表中,如下SQL语句:??????????????

INSERT into TongXunLu (姓名,地址,电子邮件)

SELECT Sname,SAddress,Semail

FROM Students

执行后的结果可能是(A )。???????????????????

把查询出的   

       a)    向表TongXunLu中添加了多条记录

       b)    显示出错信息,错误原因是into 应该大写

       c)    显示出错信息,错误原因是姓名,地址,电子邮件两侧不应该有符号

       d)    显示出错信息,INSERT INTO 语句应该在 SELECT FROM 中间

 

14)  创建数据库时,对列EMail的约束为:Email like ‘%@%’,则以下(D)数据不可以录入数据库。

      

       a)    @

       b)    abc@[email protected]      c)    [email protected]       d)    ABC

 

15)  分析下面的SQL语句:                 ???????????????????????

Select A.A1,A.A2,B.B1,B.A4

FROM A INNER JOIN B ON A.A3=B.A3

WHERE A.A4=10

HAVING A.A5>10

GROUP BY B.A5

以下说法正确的是( B)。

      

       a)    该语句正确   b)    HAVING GROUP BY 的出现先后顺序应该颠倒

       c)    语句中可以写成

Select A.A1,A.A2,B.B1,B.A4

FROM A,B

WHERE A.A4=10 AND A.A3=B.A3

GROUP BY B.A5

HAVING A.A5>10

       d)    B 表中的列和A表中列名不同,则在SELECT语句中可以不指定表名

 

16)  设计学生管理系统,以下说法正确的是( D)。学生信息表、学生成绩表、学生班级表

学生信息表和学生成绩表是一对多的关系;学生信息表和学生班级表是多对多的关系

      

       a)    现实中学生张三是一个实物,所以张三是数据库设计中的实体记录

       b)    学生表是用来记录学生信息的,所以学生表是数据库设计中所说的记录

       c)    表和表的关系作为记录存储在数据库其它的表中

       d)    如果数据库表中存在主键,则表中的记录将按照主键值进行排列

必须有索引

17)  ABC有列ABC,其中列A 的默认值是,现有如下的SQL 语句:

INSERT INTO ABC(A,B,C) VALUES(,’XX’,’YY’)

执行后的结果是( B)。

      

       a)    执行成功,ABC的值分别是:男,XX,YY

       b)    以上SQL语句不正确,执行失败

       c)    执行成功,A,B,C的值分别是XX,YY,NULL

       d)    执行成功,A,B,C的值分别是NULL,XX,YY

 

 

19)  假设客户的数据库服务器可以连接到本机SQL Server数据库,为了把设计好的SQL Server数据库分发给客户(必须包含数据),以下做法不正确的是(A )。??????????????????

      

       a)    通过导出方式导出到客户数据库

       b)    通过建表的SQL脚本

       c)    通过分离/附加方式

       d)    通过备份/还原方式

 

20)  可以得到今天属于哪个月份的SQL语句是(B )。

      

       a)    SELECT DATEDIFF(mm,GetDate())

       b)    SELECT DATEPART(month,GetDate())

       c)    SELECT DATEPART(n,GetDate())C

       d)    SELECT DATEName(dw,GetDate())//dw:星期

 

*******************************************************************************************

1)    有关数据冗余说法错误的是(C)。(选择一项)           

       a)    数据库中,数据存在副本的现象,就是数据冗余

       b)    通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性

       c)    在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。

       d)    数据冗余通常是由于数据库设计引起的。

 

2)    假定有一个用户表,表中包含字段:userid (int)username (varchar) password(varchar)、等,该表需要设置主键,以下说法正确的是(AB)。(选择两项)            

       a)    如果不能有同时重复的usernamepassword,那么usernamepassword可以组合在一起作为主键。

       b)    此表设计主键时,【根据选择主键的最小性原则】,最好采用userid作为主键。

       c)    此表设计主键时,根据选择主键的最小性原则,最好采用usernamepassword作为组合键。

       d)    如果采用userid作为主键,那么在userid列输入的数值,允许为空。

 

4)    关于标识列,以下说法正确的是(B)。(选择一项)

             

       a)    使用sql语句插入数据时,可以为标识列指定要插入的值。

       b)    设定标识时,必须同时指定标识种子和标识递增量。

       c)    若设定标识时,未指定标识递增量,那么使用sql语句插入数据时,可以为标识列指定递增值。

       d)    只能把主键设定为标识列。

 

5)    现有表user,字段:useridusername, salary, deptidemail; department,字段:deptid, deptname;下面(C)应采用检查约束来实现。(选择一项)

             

       a)    department中不存在deptid2的纪录,则不允许在user表中插入deptid2的数据行。   外键约束

       b)    user表中已经存在userid10的记录,则不允许在user表中再次插入userid10的数据行。  主键约束、唯一约束

       c)    User表中的salary(薪水)值必须在1000元以上。

       d)    User表的email列允许为空,则向user表中插入数据时,可以不输入email值。

 

6)    现有表book,主键bookid设为标识列。若执行语句:select * into book2 from book, 以下说法正确的是(AD)。(选择两项)             

       a)    若数据库中已存在表book2, 则会提示错误。

       b)    若数据库中已存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识。

       c)    若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为主键。

       d)    若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识。

 

 

8)    以下(B)语句从表TABLE_NAME中提取前10条记录。(选择一项)

             

       a)    select * from TABLE_NAME where rowcount=10

       b)    select TOP 10 * from TABLE_NAME

       c)    select TOP of 10 * from TABLE_NAME

       d)    select * from TABLE_NAME where rowcount<=10

 

9)    产品表里查询出价格高于产品名称为一次性纸杯的产品的记录,此SQL语句为(C)。(选择一项)????????

             

       a)    SELECT * FROM 产品WHERE 价格>‘一次性纸杯’;

       b)    SELECT * FROM 产品WHERE 价格>(SELECT * FROM 产品WHERE 产品名称>’ 一次性纸杯’);

       c)    SELECT * FROM 产品WHERE EXISTS 产品名称=’ 一次性纸杯’);

       d)    SELECT * FROM 产品WHERE 价格>(SELECT 价格FROM 产品WHERE 产品名称=’ 一次性纸杯’);

 

10)  查找 student表中所有电话号码(列名:telephone)的第一位为86,第三位为0的电话号码(C)。(选择一项)

             

       a)    SELECT telephone FROM student WHERE telephone LIKE '[8,6]%0*'

       b)    SELECT telephone FROM student WHERE telephone LIKE '(8,6)*0%'

       c)    SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0%'

       d)    SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0*'

 

11)   现有表book,字段:id (int)title (varchar), price (float); 其中id字段设为标识,使用insert语句向book表中插入数据,以下语句错误的是(A)。(选择一项)

             

       a)    insert into book (id,title,price) values(1,'java',100)

       b)    insert into book (title,price) values('java',100)

       c)    insert into book values ('java',100)

       d)    insert book values('java',100)

 

 

13)  现有表Employee,字段:id (int)firstname(varchar), lastname(varchar); 以下sql语句错误的是(B)。(选择一项)A

             

       a)    select firstname+'.'+lastname as 'name' from employee

       b)    select  firstname+'.'+lastname='name' from employee

       c)    select  'name'=firstname+'.'+lastname  from employee

       d)    select  firstname,lastname from employee

 

15)  若要删除book表中所有数据,以下语句错误的是(BC)。(选择两项)

             

       a)    truncate table book

       b)    delete * from book

       c)    drop table book

       d)    delete  from book

 

16)  学生成绩表grade中有字段scorefloat,现在要把所有在55分至60之间的分数提高5分,以下sql语句正确的是(CD)。(选择两项)

             

       a)    Update grade set score=score+5

       b)    Update grade set score=score+5 where score>=55 or score <=60

       c)    Update grade set score=score+5 where score between 55 and 60

       d)    Update grade set score=score+5 where score >=55 and score <=60

 

17)  现有书目表book,包含字段:price (float); 现在查询一条书价最高的书目的详细信息,以下语句正确的是(AC)。(选择两项)???????

             

       a)    select top 1 * from book order by price asc

       b)    select top 1 * from book order by price desc

       c)    select top 1 * from book where price= (select max (price)from book)

       d)    select top 1 * from book where price= max(price)  max不能做where的条件

 

18)  Sql server提供了一些字符串函数,以下说法错误的是(A)。(选择一项)

             

       a)    select right('hello',3) 返回值为:hel     返回值为:llo

       b)    select ltrim(rtrim(' hello ')) 返回值为:hello(前后都无空格)

       c)    select replace('hello','e','o') 返回值为:hollo

       d)    select len('hello') 返回值为:5

 

19)  现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个类别的平均价格、类别名称,以下语句正确的是(A)。

             

       a)    select avg(price),type from book group by type

       b)    select count(price),type from book group by price

       c)    select avg(price),type from book group by price

       d)    select count (price),type from book group by type

 

20)  student表中包含主键sudentid,则执行语句:update student set studentid=100 where studentid=101, 结果可能是(BCD)。!!!!!!!!!!!!!!!!!!

             

       a)    错误提示:主键列不能更新。

       b)    更新了一条数据。

       c)    错误提示:违反主键约束。

       d)    既不提示错误,也不更新数据。

 

21)  查询student表中的所有非空email信息, 以下语句正确的是(D)。(选择一项)

             

       a)    Select email from student where email !=null

       b)    Select email from student where email not is null

       c)    Select email from student where email <> null

       d)    Select email from student where email is not null

 

23)  以下(C)语句的返回值不是22。(选择一项)  print可以改为select             

       a)    Select abs(-22)   print abs(-22) 两者结果相同!!!!!!!!!!

       b)    Select abs(22)

       c)    Select ceiling(22.1)

       d)    Select floor(22.9)

 

24)  成绩表grade中字段score代表分数,以下(CB)语句返回成绩表中的最低分。(选择两项)             

       a)    select max(score) from grade

       b)    select top 1 score from grade order by score asc

       c)    Select min(score) from grade

       d)    select top 1 score from grade order by score desc

 

25)  现有订单表orders,包含用户信息userid, 产品信息 productid, 以下(D)语句能够返回至少被订购过两回的productid? (选择一项)             

       a)    select productid from orders where count(productid)>1  聚合函数不能做where条件

       b)    select productid from orders where max(productid)>1

       c)    select productid from orders where having count(productid)>1 group by productid

       d)    select productid from orders group by productid having count(productid)>1

 

26)  关于聚合函数,以下说法错误的是(C)。(选择一项)       

       a)    Sum返回表达式中所有数的总合,因此只能用于数字类型的列。

       b)    Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。

       c)    MaxMin可以用于字符型的列。

       d)    Count可以用于字符型的列。()

 

28)  现有顾客表customers, 包含数据如下表,若执行sql语句:select count(distinct(city)) from customers,以下(C)是输出结果。(选择一项)

cid   cname     city

1     jack null

2     lee   beijing

3     tom              //null和空不一样。

4     chen beijing

 

       a)    1

       b)    2

       c)    3

       d)    4

 

29)  现有顾客表customers, 包含数据如下表,若执行sql语句:select avg(discount) from customers,以下(C)是输出结果。(选择一项)

              cid   cname     discount

              1     jack null

              2     lee   8

              3     tom  7

              4     chen 1

 

       a)    错误提示:不能对null进行avg操作

       b)    16

       c)    8

       d)    5

 

30)  Sql server提供了一些日期函数,以下说法错误的是(BD)。(选择两项)

             

       a)    select dateadd(mm,4,’01/01/1999’) 返回值为:05/01/1999

       b)    select datediff(mm,'03/06/2003','03/09/2003') 返回值为:3

       c)    select datepart(day,'03/06/2003') 返回值为:6

       d)    select datename(dw,'03/06/2003') 返回值为:6  dw:代表星期

 

31)  现有书目表book,数据见下表。现在执行sql语句:update book set title=replace(replace(title,'j','a'),'servlet','csharp'),执行结果是(A)。(选择一项)

 

              bookid    title

              1     jsp&servlet

              2     jsp

              3     Professional servlet

              4     asp

 

       a)    更新了3条记录

       b)    更新了2条记录

       c)    更新了1条记录

       d)    sql语句有错误,无法执行

 

32)  现有订单表orders, 包含数据如下表。若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下(BCsql语句。(选择两项)?????????????????

              cid (顾客编号)      Pid (产品编号)

              C01         P01

              C01         P02

              C02         P01

              C03         P02

 

       a)    select distinct(cid) from orders o1 where o1.pid in ('p01','p02')

       b)    select distinct(cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02' and o1.cid=o2.cid

       c)    select distinct(cid) from orders o1 where pid='p01' and cid in (select cid from orders where pid ='p02')

       d)    select distinct(cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02'

 

33)  使用以下(A)不可以进行模糊查询。(选择一项)

????????????????????           

       a)    OR

       b)    Not between

       c)    Not IN

       d)    Like

34)  关于分组查询,以下(CD)描述是错误的。(选择两项)          

       a)    使用group by 进行分组查询

       b)    对分组后的条件的筛选必须使用Having子句

       c)    Having子句不能与where子句同时出现在一个select语句中

       d)    在使用分组查询时,在select列表中只能出现被分组的列。如:select courseid from grade group by courseid.     其它列也能出来,不过必须用聚合函数

 

35)  关于多表联接查询,以下(A)描述是错误的。(选择一项)            

       a)    外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。

       b)    多表联接查询必须使用到JOIN关键字

       c)    内联接查询返回的结果是:所有符合联接条件的数据。

       d)    where子句中指定联接条件可以实现内联接查询。

36)  Sql语句:select * from students where SNO like ‘010[^0]%[A,B,C]%’,可能会查询出的SNO是(AD)。(选择两项)

             

       a)    01053090A

       b)    01003090A01

       c)    01053090D09

       d)    0101A01

 

37)  关于Truncate table, 以下(AD)描述是错误的。(选择两项)    

       a)    Truncate table 可跟Where从句,根据条件进行删除。

       b)    Truncate table 用来删除表中所有数据。

       c)    触发器对Truncate table无效。

       d)    delete Truncate table速度快。

 

38)  以下(C)说明了代码:not (付款方式=’信用卡’) or (信用卡<>’阳光卡’) 的含义。(选择一项)<>:不等于             ???????????????????????????

             

       a)    付款方式不能是信用卡。

       b)    付款方式不能是信用卡,或者信用卡是阳光卡。

       c)    如果付款方式是信用卡,那么信用卡不能是阳光卡。

       d)    付款方式是信用卡,并且信用卡不能是阳光卡。

 

39)  执行Sql语句:select *, score*0.5+20 as 加权成绩 from grade where (score*0.5+20)<60 order by score*0.5+20,以下(C)描述是正确的。(选择一项)           

       a)    错误提示:order by 子句中不能出现表达式。

       b)    正确执行,显示grade表中各列值,按照score由低到高排序。

       c)    正确执行,显示grade表中各列值,以及加权成绩列,按照score由低到高排序。

       d)    错误提示:where 子句中不能出现表达式。

 

40)  创建一个名为‘Customers’的新表,同时要求新表中包含表‘clients’的所有记录,sql语句是(A)。(选择一项)select * into :创建新表             

       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

 

41)  关于主键,以下(BD)说法是错误的。(选择两项)          

       a)    主键可以用来确保表中不存在重复的数据行。

       b)    一个表必须有一个主键。

       c)    一个表只能有一个主键。

       d)    只能对整数型列设置主键。字符串

 

42)  book中包含三个字段:title(varchar), author(varchar), price(float)Author的默认值是’UNKNOW’

执行sql语句:insert book (title,price) values (‘jsp’, 50)。以下结果正确的是(B)。(选择一项)          

       a)    插入失败,sql语句有错

       b)    插入成功,author列的数据是UNKNOW

       c)    插入成功,author列的数据是NULL

       d)    插入成功,author列的数据是50

 

43)  关于sql server常用的数据类型,以下(C)说法是错误的。(选择一项)        

       a)    Image数据类型可以用来存储图像。

       b)    使用字符数据类型时,可以改变长度信息。

       c)    使用数字数据类型时,可以改变长度信息。        int不能变

       d)    Bit数据类型为1位长度,可以存储表示是/否的数据。

 

44)  现有学生表student(主键:学生编号sid),成绩表score(外键:学生编号sid, 两表中的数据如下。

执行sql语句:select * from student st left outer join score sc on st.sid=sc.sid。正确的返回结果是(C)条记录。(选择一项)  

student

sid   sname

1     Lee

2     Chen

3     Jack

4     rose

 

score

sid   score

1     80

2     75

 

       a)    0

       b)    2

       c)    4

       d)    6

 

45)  定义列中可以接受的数据值或格式,称为(B)。(选择一项)           

       a)    唯一性约束

       b)    检查约束

       c)    主键约束

       d)    默认约束

 

46)  假设订单表orders用来存储订单信息,cid代表客户编号,money代表单次订购额,现要查询每个客户的订购次数和每个客户的订购总金额,下面(Csql语句可以返回正确结果。(选择一项) distinct:去除重复           !!!!!!!!!!!!!以后会用到!!!!!!!!!!

       a)    select cid,count(distinct(cid)),sum(money) from orders group by cid

       b)    select cid,count(distinct(cid)),sum(money) from orders order by cid

       c)    select cid,count(cid),sum(money) from orders order by cid

       d)    select cid,count(cid),sum(money) from orders group by cid

 

47)  Sql server提供了一些系统函数,以下说法错误的是(B)。(选择一项)???????????

             

       a)    select datalength(‘ab cde’) 返回值为:5   6

       b)    select convert(char(3),12345) 返回值为:123    前大后小,出个*

       c)    select datalength(‘abcde’) 返回值为:5

       d)    select convert(char(5),12345) 返回值为:12345

 

48)  家庭住址最好采用(C)数据类型进行存储。(选择一项)

             

       a)    Char/Nchar

       b)    text/Ntext

       c)    Varchar/Nvarchar  因为它可变

       d)    Char2/Nchar2

49)  现有客户表customers(主键:客户编号cid),包含10行数据,订单表orders(外键:客户编号cid),包含6条数据。执行sql语句:

select * from customers right outer join orders on customers.cid=orders.cid。最多返回(B)条记录。(选择一项)右连接           

       a)    10

       b)    6

       c)    4

       d)    0

 

50)  假设一系统原来使用Access数据库,现要使用sql server数据库,采用(D)方法可以完成两个数据库之间的数据转换工作。(选择一项)           

       a)    Sql server的附加数据库功能

       b)    Sql server的还原数据库功能

       c)    Sql server中可直接打开Access数据库,另存即可。

       d)    Sql server的导入\导出功能

 

*******************************************************************************************

1)    SQL Server中,可以对查询的输出进行排序,

       关于排序的说法正确的是(B)(选择一项)

       a)    在模糊查询的时候,是不能进行排序输出的

       b)    排序是对记录顺序的暂时重排

       c)    表中的记录只能按一个字段进行排序。  order by按两列排序

       d)    只能按主键进行排序

 

5)    下面SQL语句都使用了聚合函数,其中选项(B)存在错误。(选择一项)

       a)    SELECT MIN(au_lname) FROM authors

       b)    SELECT ADD(ytd_sales+1) FROM titles

       c)    SELECT type,MAX(price) FROM titles

              GROUP BY type ORDER BY type

       d)    SELECT COUNT(*) ,avg(price) FROM titles WHERE advance > $1000

 

6)    考虑本地图书馆的一个图书借阅和跟踪系统,数据库包含Member,BorrowBook,要求:

       1.    每人可以借阅一本或多本书

       2.    每本书一次只能被借给一个人;       人和书多对多的关系!!!!

       3.    图书馆没有的书籍不能被借阅;

       你要在BorrowBook表中强制这种引用完整性,应该()选择两项(CA) 正确的项

       a)    使用外键约束把Book_id列添加到Borrow表中

       b)    Borrow_id 列添加一个CHECK约束

       c)    Book表增加一列来记录书是否被借出

       d)    使用外键约束把Borrow_id列添加到Book表中

 

8)    在客户表中查询出不是以"公司"结尾的客户的记录,正确的SQL语句是(A)

       A)   select * from 客户 where 公司名称 not like '%公司'

       B)    select * from 客户 where 公司名称 like '公司'

       C)    select * from 客户 where 公司名称 not in '公司'

       D)   select * from 客户 where 公司名称 not like '*公司'

 

9)    Products数据库中建立一个新表authors,表中应该包含name列和每个作者的ID列,

       下列SQL语法正确的是(C)????????????

       A)   CREATE TABLE Authors ON Products (name varchar(50),ID smallint)

       B)    ALTER DATABASE Products

                     ADD TABLE Authors (name varchar(50),ID smallint)

       C)    CREATE TABLE Products.Authors(name varchar(50),ID smallint)  记住

       D)   CREATE TABLE Products.dbo.Authors(name,ID)

 

10)  现有学生信息表Student_info,其中包括姓名(stu_name),学号(stu_id),成绩(stu_grade).

       我们需要查询成绩为80分的学生姓名,要求结果按照学号降序排列。

       下面SQL查询语句正确的是B)

       A)   SELECT stu_name FROM student_info WHERE stu_grade=80

              ORDER BY stu_id ASC

       B)    SELECT stu_name FROM student_info WHERE stu_grade=80

              ORDER BY stu_id DESC

       C)    SELECT stu_id, stu_name FROM student_info WHERE stu_grade=80

              ORDER BY stu_name ASC

       D)   SELECT stu_name FROM student_info WHERE stu_grade LIKE 80

              ORDER BY stu_id DESC

 

16)  SQL Server 中,以下都属于二进制数据类型,除了(C)(选择一项)

       a)    Binary                   b)    Image

       c)    Bit是个整数         d)    VarBinary

 

17)  你们正在设计一个数据库应用程序,在设计中途的时候,数据库进行了重新规划,

       因此原来的数据库也不能再使用,并且启用了一个新的数据库和数据库表结构,

       但是,原来有一张重要的表中已经输入了大量的数据,

       你检查了新的数据库表和原来的数据库表的结构,发现表的结构并没有发生更改,

       为了把原来的数据在新的数据库中利用,可以采用的最好的方法是(C)(选择一项)

       a)    重新在新的数据库表中录入全部的数据

       b)    使用数据转换的服务功能,把原来的数据保存为文本文件,

              再把文本文件拷贝到新的数据库中

       c)    使用"INSERT INTO [新的表名] SELECT [旧的表名]" 的插入语句

              进行表之间的数据转移!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

       d)    首先建立两张表之间的主外键关系,

              再在VB中使用ADO对象进行数据分析和数据插入

 

18)  SQL Server 数据库A中具有表B ,则在查询分析器中执行以下的的语句:

       USE A

       TRUNCATE TABLE  B 

       GO

       执行的结果是(C)(选择一项)

       a)    B中凡是带空行什的数据被删除,非空行数据依然被保留

       b)    B被删除

       c)    B中的约束对象依然存在

       d)    B中空的数据行将被赋予对应的默认值

 

19)  在数据库中,要防止小于100的数保存到UnitsInStock列。可以(D)(选择一项)

       a)    使用主键约束              b)    使用缺省约束

       c)    使用外键约束              d)    使用检查约束

 

20)  最近,你们公司的一些重要的私有数据好像有些泄露,

       部门经理的薪水情况竟然在员工之间流传,

       这些数据本来是保存在SQL Server数据库中的,

       作为系统管理员,为杜绝此事,你应该考虑数据库的(B)(选择一项)

       A.    备份                     B.    安全             

       C.    数据完整性           D.    数据结构

 

15)  我们通常使用(A)在数据库中存储和修改信息,并从数据库中抽取信息。(选择一项)

       a)    数据库管理系统(DBMS) SqlServer    b)数据库

       c)    文字编辑工具              d)    数据词典

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

16)  假如表ABC中的所有列均为字符数据类型,A 列的默认值为"VA"

       同时还有B列和C列,则执行以下的T-SQL

              INSERT ABC(AC)VALUES('V','NULL')

       后,下列的说法那一项正确(C)(选择一项)

       a)    插入B列的值为字符'NULL'

       b)    插入A列的值为VA

       c)    插入B列的值为空值

       d)    插入C列的值为空值

 

17)  在数据库中,以下(A)属于引用完整性约束。(选择一项)!!!!!!!!!!外键约束

       a)    检查约束              b)    NOT NULL 属性

       c)    默认值                  d)    标识列

 

18)  以下不属于典型数据库应用的是(选择一项)D

       a)    图书管理程序              b)    自动柜员机

       c)    机票预定系统              d)    网卡驱动程序

 

19)  考虑下列实例,设计一个数据库存储学校里的所有课程情况,

       Professors表中存储教授的信息,在Courses表中存储课程的信息,

       每门课程分配给一个教授,每个教授可以教几门课程,要求只有

       Professors表中注册过的教授才可以教课程,而教授也只可以教

       Courses中登记过的课程,(B)可以满足此要求?(选择一项)

       a)    Professors表中建立一个主键,引用Courses

       b)    Courses表中建立一个外键,引用Professors

       c)    Professors表中建立一个外键,引用Courses

       d)    Courses表中建立一个主键,引用Professors

      

24)  有一个"出版物"表,包含图书编码(Book-code),书名(Book-name),出版日期(Issue-dt),备注(Mem-cd)等级段,( A)字段作为该表的主建可能是最恰当的。(选择一项)

       a)Book-code

       b)Book-name

       c)Issue-dt

       d)Mem-cd

      

25)  使用SQL创建多表查询要求查询中所涉及的表必须有(B)。(选择一项)

       a)主键!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

       b)公共字段

       c)组合键

       d)以上皆是

      

26)  下列查询条件(C)可以查询出员工数据表中的字段"员工所在地"不在"柏林"的员工。(选择一项)

       a)  !>'柏林'

       b)  NOT '柏林'

       c)  IS NOT '柏林'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

       d)  <>'柏林'

      

28)  在一个表中,通常使用键约束来保证每条记录都是唯一的。用来唯一地标识每行的属性称为(A)。(选择一项)

       a)    主键

       b)    约束

       c)    索引

       d)    关系

 

30) 下面(d)是数据库模型。(选择一项)

a)    导航模型

b)    文件模型

c)    星状模型

d)    层次模型

 

31) 有一个商品信息表(表名:ProInfo),表的字段为:ProID(商品编号)ProCatg(商品类别)ProName(商品名称),ProPrice(商品价格),下列选项( B)可以查询每一类商品的平均价格。(选择一项)

a)    Select  ProCatg,AVG(ProPrice) From ProInfo

b)    Selecct AVG(ProPrice) From ProInfo Group By ProCatg

c)    Select AVG(ProPrice) From ProInfo

 

32) 引用完整性约束使用来维护(A)个表之间的行的一致性的。(选择一项)

a)   

b)   

c)   

d)    至少三

 

33) 关于IDENTITY属性,下列说法错误的是(C)。(选择一项)

a 一个表只能有一个列具有IDENTITY属性

b 你不能对定义了IDENTITY属性的列加上default约束

c 附加了IDENTITY属性的列可以是任意数据类型

d 你不能更新一个定义了IDENTITY属性的列

 

40)在关系型数据库中,基于公共字段将两个或多个表联系起来称为联接,联接包括以下不同的类型,除了(D).(选择一项

a)内部联接

b)外键联接

c)外部联接

d)自联接     

42)在数据库设计中,以下(B)情况是数据冗余的一种形式.(选择一项)

a)对相同的数据进行多次备份

b)在多个位置存储相同的数

c)对重要数据类型进行复制操作

d)使用不同类型的数据库存储不同应用系统的数据

 

43"商品表"里所有商品价格加2,下列更新记录的语句,正确的是(AC).(选择一项)

a)UPDATE 商品表 SET 价格=价格+2;

b)INSERT 商品表 SET 价格=价格+2;

c)UPDATE 商品表 SET 价格=价格+2;

d)SELECT * FROM 商品表 SET 价格=价格+2;

 

 

 

你可能感兴趣的:(Sql,Server习题)