一、选择题1、下面(_B___)描述是正确的。A、视图是一种常用的数据库对象,使用视图不可以简化数据操作。B、使用视图可以提高数据库的安全性。C、视图和表一样是由数据构成的。D、视图必须从多个数据表中产生才有意义。2、下面(__D__)组命令,将变量count值赋值为1。A、DIM@countintSELECT@count=1B、DIMcount=1intC、DECLAREcountintSELECTcount=1D、DECLARE@countintSELECT@count=13、你要为一个向全世界出口产品的物流公司开发一个数据库。这个公司有关销售信息的资料都存储在一个名为sales的表格内。消费者的名字都被存放一个名为Customers的数据库内。以下是创建表格的脚本代码。CREATETABLECustomers(CustomerIDintNOTNULL,CustomerNamevarchar(30)NOTNULL,ContactNamevarchar(30)NULL,Phonevarchar(20)NULL,Countryvarchar(30)NOTNULL)通常每个国家只有1,2名顾客。然而,有些国家有多达20名顾客。公司的营销部门想要对超过10个顾客的国家做广告。你要为营销部门创建一个包含这些国家的名单列表。你应该使用哪个代码?(A)A.SELECTCountryFROMCustomersGROUPBYCountryHAVINGCOUNT(Country)10B.SELECTTOP10CountryFROMCustomersC.SELECTTOP10CountryFROMCustomersFROM(SELECTDISTINCTCountryFROMCustomers)ASXGROUPBYCountryHAVINGCOUNT(*)10D.SETROWCOUNT10SELECTCountry,COUNT(*)as“NumCountries”FROMCustomersGROUPBYCountryORDERBYNumCountriesDesc4、下列关于数据库、文件和文件组的描述中,错误的是(B)。A)一个文件或文件组只能用于一个数据库B)一个文件可以属于多个文件组C)一个文件组可以包含多个文件D)数据文件和日志文件放在同一个组中5、学生成绩表包含列“学号”、“课程代号”、“成绩”、“考试时间”等。列“成绩”的值为NULL表示该学生缺考这门课。请用SELECT语句查询学号为“”的学生所有缺考的课程数(A)。A、SELECTCOUNT(*)FROM学生成绩表WHERE学号='98120001'AND成绩ISNULLB、SELECTCOUNT(成绩)FROM学生成绩表WHERE学号='98120001'AND成绩ISNULLC、SELECTCOUNT(*)FROM学生成绩表WHERE学号='98120001'AND成绩=NULLD、SELECTCOUNT(成绩)FROM学生成绩表WHERE学号='98120001'AND成绩=NULL6、在录入公司业务信息时,要确保字段“业务量”的值在100到200之间,需要使用下列哪种约束(D)。A)DEFAULTB)PRIMARYKEYC)UNIQUED)CHECK7、以下不是SQLServer2005触发器类型的是(_B___)。A、INSERT触发器B、SELECT触发器C、UPDATE触发器D、DELETE触发器8、在学生成绩表tblCourseScore中的列Score用来存放某学生学习某课程的考试成绩(0~100分,没有小数),用下面的哪种类型最节省空间?(C)。A)intB)smallintC)tinyintD)decimal(3,0)9、以下哪个不能用于处理缺失的信息.(A)A.innerjoinB.leftouterjoinC.rightouterjoinD.fullouterjoin10、修改存储过程使用的语句是(_B___)。A、INSERTPROCEDUREB、ALTERPROCEDUREC、DROPPROCEDUED、DELETEPROCEDUE11、在InsertInto语句中某些列是可以不插入值,给出列时,可以省略这些列,以下说法不正确的是:(D)A.具有Identity属性的列,可以省略;B.具有默认值的列,可以省略;C.允许为空的列,可以省略;D.设置为主键的列,可以省略12、下列条目中,哪个不属于ALTERTABLE的功能(D)A.增加表的完整性约束B.修改表中列的定义C.增加表中的列D.修改表中的记录13、创建如下存储过程:CREATEPROCEDUREmy_proc_def@firstint=NULL,@secondint=2,@thirdint=3ASSELECT@first,@second,@thirdGO以下调用存储过程得到的结果错误的是(D)。A、EXECUTEmy_proc_def结果值:NULL23B、EXECUTEmy_proc_def10,20,30结果值:102030C、EXECUTEmy_proc_def@second=500结果值:NULL5003D、EXECUTEmy_proc_def40,@third=50结果值:405005014、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_D___)。A、SELECT,INTOB、SELECT,FROMC、SELECT,GROUPD、仅SELECT15、在Transact-SQL语法中,使用关键字(_A___)可以把重复行屏蔽。A、DISTINCTB、UNIONC、ALLD、TOP16、在Transact-SQL语法中,将多个查询结果返回一个结果集合的运算符是(__B__)。A、JOINB、UNIONC、INTOC、LIKE17、在Transact-SQL语法中,可以对查询结果进行排序的子句是(_C___)。A、GROUPBYB、COMPUTEBYC、ORDERBYD、COMPUTE18、在创建视图时,可以用来将包含创建此视图的文本加密的选项是(_B___)A、WITHSCHEMABINDINGB、WITHENCRYPTIONC、WITHCHECKOPTIOND、WITHVIEW_METADATA19、一个数据库可以有几个主文件。(__C__)A、可以0个B、至少一个C、有且仅有一个D、可以0个,也可以多个20、在聚合函数中,即使每行都包含空值,仍会计算所有行的函数是(_C___)。A、SUMB、MAXC、COUNT(*)D、COUNT21、在数据库中创建表可以通过(_D___)等方法来实现。A、企业管理器B、查询分析器C、OSQLD、企业管理器和CREATETABLE语句22、左外联接中TABLE1LEFTOUTERJOINTABLE2ONJOIN_CONDITION如果现在TABLE2中没有相应的行,则返回(D)。A、没有返回B、两个表所有行C、TABLE2中所有行D、TABLE1中所有行23、LIKE’[A-C]%’匹配的内容是什么(B)A.匹配以A或C开头的字符串B.匹配以A到C当中任何一个字母开头的字符串C.匹配以A或C开头的字符串,且字符串仅包含了两个字符D.匹配以A到C当中任何一个字母开头的字符串,且字符串仅包含了两个字符24、关于默认值和规则,下列描述不正确的是(C)A.列的默认值必须符合绑定到此列上的任何规则和CHECK约束B.不能为已有默认绑定的列创建DEFAULT约束C.创建的规则可检查出先前已经存在于数据库中的不符合规则的数据D.一个列或者用户定义数据类型只能被一个规则绑定25、下面哪些语句属于数据定义语言(DDL)是(D)。A.SELECTB.INSERTC.UPDATED.DROP26、ALL(1,2,3)表示3,ANY(1,2,3)表示1(A)。A、大于,大于B、大于,小于C、小于,小于D、小于,大于27、以下哪些不是SQLServer的系统数据库(D)。A、masterB、modelC、tempdbD、Northwind28、已知,SQLServer中的触发器使用两种特殊的表:deleted表和inserted表。那么下面的描述中那一个说法是错误的(D)。A、在执行DELETE语句时,行从触发器表中删除,并传输到deleted表中。B、在执行INSERT语句时,新建行被同时添加到inserted表和触发器表中。C、在执行UPDATE语句时,首先旧行被复制到deleted表中,然后新行被复制到触发器表和inserted表中。D、虽然Microsoft®SQLServer™2005自动创建和管理deleted表和inserted表,但是还是允许我们直接对表中的数据进行更改。29、定单表Orders的列OrderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句(C)。A、ALTERCOLUMNOrderIDintegerFROMOrdersB、ALTERTABLEOrders(OrderIDinteger)C、ALTERTABLEOrdersALTERCOLUMNOrderIDintegerD、ALTERCOLUMNOrders.OrderIDinteger30、执行下面脚本,共有多少条记录插入到表tblTemp中(D)。CREATETABLEtblTemp(TempIDintegernotnull,TempDatedatetimenotnull)goDECLARE@countintegerSET@count=1WHILE@count=10BEGINIF(SELECTCOUNT(*)FROMtblTemp)=10BREAKELSEBeginINSERTtblTempVALUES(@count,GETDATE())SET@count=@count+1endENDA、0B、8C、9D、10二、判断题1、insertintotableAselect*fromwhereaddress=’福建省福州市’,要正确运行如上语句,tableA可以不存在,在查询的过程中生成。(F)2、在Transact-SQL语句中,使用通配符“%”只能描述单个字符。(F)3、在Transact-SQL语句的WHERE子句中,可以用IN搜索条件来代替由OR操作符连起来的一系列比较操作符。(T)4、对包含空值的字段使用聚合函数时,SQLServer的聚合函数都将忽略字段中的空值(F)5、在Transact-SQL语句中,使用通配符“[]”只能描述单个字符。(T)6、selectA,B,C,count(*)fromtableAgroupbyA,B以上语句不存在语法错误(F)7、以下定义变量及赋值语句是正确的(F)declare@iint,@jintset@i=2,@j=28、在选择列表中,使用符号“*”代表选择表中所有的字段。(T)9、触发器可以引用其他表中的列,能强制比CHECK约束更复杂的数据完整性。(T)10、触发器是通过事件触发而由系统自动执行的。(T)11、列约束被指定为列定义的一部分,并且只应用到那一列。(T)12、如果要在多列上创建相同的默认值,可以先定义默认值再采用绑定的方法。(T)13、一个数据库可以有多个主文件。(F)14、UNIQUE约束指明任意两行不能有相同的值。(F)17、在游标中,要读取游标当前的值,用select语句。(F)16、对一个表插入数据,一次只能插一条记录到表中。(F)17、禁用触发器后,若再想再次使用,必须重新创建。(F)三、填空题1、系统存储过程是存储在master数据库内,以SP_为前缀标识的。2、可以定义一列或多列的值与同表或其他表中主键的值匹配的约束类型是外键约束。3、Transact-SQL语句的种类分为DML、DDL和DCL三种。4、某数据字段,其数据类型为decimail(7,4),若向某记录的该列赋值56.34261