SQL SERVER数据库习题
一、选择题
(一)、SQL语言部分
1、语句: Insert INTO Goods(Name,Storage,Price)
Values('Keybpoard',3000,90,000) 的作用是(      )。
  A 添加数据到一行中的所有列   B 添加数据到一行中的部分列     
C 插入默认值                 D 插入多个行
2、使用SELECT子句可以将从一个或多个表或视图中选择来的数据添加表中去,SELECT子句可以将数据添加到一行的部分或全部列中。被插入数据的表与SELECT子句的结果集必须(       
  A 具有相同域  B、具有相同的数据类型  C、兼容  D 具有完整连接
3、在SQL Server中,对数据的修改是通过(    )语句实现的
  A MODIFY      B MESSAGE    C REMARK    D UPDATE
4、使用T-SQL中的(    )语句可以删除数据库表格或者视图中的一个或多个记录
  A CENTSOR    B PRINT      C DELETE    D STRIKE
5、关于TRUNCATE TABLEDELETE语句描述正确的是(   
  A TRUNCATE TABLE TABLE语句不记录数据页的释放操作,只记录日志
  B TRUNCATE TABLE TABLE语句比DELETE语句执行快
  C DELETE语句删除表要指定条件
  D TRUNCATE TABLE TABLE语句并不释放表中数据索引所占据的全部空间
6、使用(    )关键字可以将两个或更多基于不同表的查询结果合并为一个单独的结果集,可以将这样的结果集创建为一个视图,在用户看来就像一个单独的表一样
  AUNION    BORDER    CLINK    DCONNECT
7、设有一个关系:DEPT (DNODNAME),如果要出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成 WHERE DNAME LIKE   
  A '_ _ W _ %'    B '_ %W_ _'      C '_W_ _'        D '_W_ %'
8SQL语言中,删除一个表的命令是(   
  ADELETE        BDROP      CCLEAR      DREMORE
9、部分匹配查询中有关通配符“_”的正确的叙述是( 
  A、“_”代表多个字符      B、“_”可以代表零个或多个字符   
C、“_”不能与“%”一同使用    D、“_”代表一个字符
10、列值为空值(NULL),则说明这一列(  )。
  A、数值为0      B、数值为空格     C、数值是未知的      D、不存在
11、在下列SQL Server常量中,(    )是非法常量。
   A数据库系统’  B‘Ab3D%’    C-12     D‘a3b’d’
12、以下与数据库结构有关的命令是(    )。
   AALTER   BCHANGE   CSELECT    DMODIFY
13tinyint数据类型的表示范围是(  )。
   A-231231-1之间 B-215215-1 C01024之间 D0255之间
14、在下列SQL Server常量中,( )是非法常量。
   A网上人大   B‘D%123’   C1209     D‘123’456’
15(  )表示整数类型并且存储长度为2个字节。
   Ainteger   Bsmallint   Ctinyint   Dbigint
16、在一个查询中,使用(    )关键字能够除去重复行。
   Adistinct   Btop   Chaving   Ddesc
17、与运算符>=”含义等同的运算是(    )。
   A<=   B !>   C!<   D<>
18、在建立一个数据库表时,如果规定某一列的缺省值为0,说明(    )。
   A、该列的数据不可更改       B、当插入记录时,必须指定该列的值为0
C、当插入记录时,如果没有指定该值,那么该列值为0  
D、当插入记录时,无须显示指定该列的值
19、在查询语句的Where子句中,如果出现了age Between 20 and 30,这个表达式等同于( )。
Aage>=20 and age<=30   Bage>=20 or age<=30  
Cage>20 and age<30    Dage>20 or age<30
20、( )不属于数据操纵语言(DML)。
   Ainsert语句   Bupdate语句   Cdelete语句   Dgrant语句
21TRUNCATE TABLE命令可以删除________,但表的结构及其列、约束、索引等保持不变。
    A) 当前记录    B) 所有记录    C) 指定记录    D) 有外键(FOREIGN KEY)约束引用的表
22SELECT number=学号,name=姓名,mark=总学分 FROM XS WHERE 专业名=’计算机表示_______
    A) 查询XS表中计算机系学生的学号、姓名和总学分
    B) 查询XS表中计算机系学生的numbernamemark
    C) 查询XS表中学生的学号、姓名和总学分
    D) 查询XS表中计算机系学生的记录
23、要查询XSH数据库CP表中产品名含有冰箱的产品情况,可用________命令。
    A) SELECT * FROM CP WHERE 产品名称 LIKE ‘冰箱
    B) SELECT * FROM XSH WHERE 产品名称 LIKE ‘冰箱
    C) SELECT * FROM CP WHERE 产品名称 LIKE ‘%冰箱%’
    D) SELECT * FROM CP WHERE 产品名称=‘冰箱
24、要查询XS表中姓且单名的学生情况,可用________命令
    A) SELECT * FROM XS WHERE 姓名 LIKE ‘%’
    B) SELECT * FROM XS WHERE 姓名 LIKE ‘_
    C) SELECT * FROM XS WHERE 姓名 = ‘%’
    D) SELECT * FROM XS WHERE 姓名 = ‘_’
25、在____子查询中,内层查询只处理一次,得到一个结果集,再依次处理外层查询。
    A) IN子查询     B) EXIST子查询    C) NOT EXIST子查询    D) JOIN子查询
26、连接有内连接、外连接和交叉连接,其中外连接只能对______表进行。
    A) 两个        B) 三个      C) 四个      D) 任意个
27、命令SELECT 学号,AVG(成绩) AS ‘平均成绩’ FROM  XS_KC GROUP BY 学号 HAVING AVG(成绩)>=85,表示_________
    A) XS_KC表中平均成绩在85分以上的学生的学号和平均成绩
    B) 查平均成绩在85分以上的学生
    C) XS_KC表中各科成绩在85分以上的学生
    D) XS_KC表中各科成绩在85分以上的学生的学号和平均成绩
第(28)至(30)题是基于如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号
EMP
DEPT
雇员号
雇员名
部门号
工资
部门号
部门名
地址
001
010
056
101
王宏达
马林生
 
02
01
02
04
2000
1200
1000
1500
01
02
03
04
业务部
销售部
服务部
财务部
1号楼
2号楼
3号楼
4号楼
28、若执行下面列出的操作,哪个操作不能成功执行?
A) EMP中删除行(‘010’,‘王宏达’,‘01’,1200)
B) EMP中插入行(‘102’,‘赵敏’,‘01’,1500)
C) truncatedeleteEMP中雇员号=‘056’的工资改为1600
D) EMP中雇员号=‘101’的部门号改为‘05’
29、若执行下面列出的操作,哪个操作不能成功执行?
A) DEPT 中删除部门号=03’的行
B)在DEPT中插入行(‘06’,‘计划部’,‘6号楼’)
C) DEPT中部门号=02’的部门号改为‘10
D) DEPT中部门号=01’的地址改为‘5号楼’
30、在雇员信息表关系EMP中,哪个属性是外键(foreign key)?
A) 雇员号        B) 雇员名        C) 部门号        D) 工资
31、列值为空值(NULL),则说明这一列( )。
A、数值为0   B、数值为空格   C、数值是未知的   D、不存在
(32)至(34)题基于“学生选课课程”数据库中的三个关系:
SS#SNAMESEXAGE),SCS#C#GRADE),CC#CNAMETEACHER
32、若要求查选修“数据库技术”这门课程的学生姓名和成绩,将使用关系 
A) SSC    B) SCC    C) SC        D) SSCC
33、若要求查姓名中第一个字为‘王’的学生号和姓名。下面列出的SQL语句中,哪个(些)是正确的?
Ⅰ、SELECT S#SNAME FROM S WHERE SNAME=′王%
Ⅱ、SELECT S#SNAME FROM S WHERE SNAME LIKE′王%
Ⅲ、SELECT S#SNAME FROM S WHERE SNAME LIKE′王_
A)                 B)             C)             D) 全部
34、查询选修了课程号为‘C2’的学生号和姓名,若用下列SQLSELECT语句表达时,哪一个是错误的?
A) SELECT SS#,SNAME FROM S WHERE SS#=(SELECT SCS# FROM SC WHERE C#='C2’)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。