SQL题库有答案_第1页
SQL题库有答案_第2页
SQL题库有答案_第3页
SQL题库有答案_第4页
SQL题库有答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、选择题:1-根据关系数据基于的数据模型一一关系模型的特征判断下列正确的一项:(_B_)A、只存在一对多的实体关系,以图形方式来表示。B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。C、能体现一对多、多对多的关系,但不能体现一对一的关系。D、关系模型数据库是数据库发展的最初阶段。2、在“连接”组中有两种连接认证方式,其中在(B)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。A、Windows身份验证C、以超级用户身份登录时B、SQLServer身份验证D、其他方式登录时3、SQLServer2000在安装之前,应注意的事项:(_C_)A、SQLServer2000

2、的任何版本在安装时都不用考虑操作系统的制约。B、SQLServer2000的安装对硬件的要求不作任何限制。C、SQLServer2000在安装之前,必须在操作系统级启用TCP/IP。D、在WindowsNTServer4.0上安装SQLServer2000时,最低的要求是必须安装ServicePack4(SP4)以上。4、关系数据库中,主键是(1_A_),主键的建立有(2_C_)种方法,当运用Transact-SQL语句创建主键时,可以是(3_B_)OA、为标识表中唯一的实体B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的A、一B、二C、三D、四A、createta

3、bletable1(column1char(13)notnullprimary,column2intnot)onprimary;B、altertabletable1withnotcheckaddconstraintPK_table1primarykeynonclustered(column1)onprimary;C、altertabletable1column1primarykey;5、表在数据库中是一个非常重要的数据对象,它是用来(1_C_)各种数据内容的,数据库创建后就可以创建表了,创建表可以用(2_D_)等方法来创建。A、显示B、查询C、存放D、检索A、企业管理器B、查询分析器C、OSQ

4、LD、企业管理器和CREATETABLE语句6、为数据表创建索引的目的是(1_A_),可以在创建表时用(2_0_)来创建唯一索引,也可以用(2)来创建唯一索引。A、提高查询的检索性能B、创建唯一索引C、创建主键D、归类A、设置主键约束,设置唯一约束B、Createtable,CreateindexC、设置主键约束,CreateindexD、以上都可以7、在Transact-SQL语法中,用来插入数据的命令是(_A_),用于更新的命令是()。A、INSERT,UPDATEB、UPDATE,INSERTC、DELETE,UPDATED、CREATE,INSERTINTO8、在Transact-SQ

5、L语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1_B_),使用关键字(2_A_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3_B_)使用(4_A_)。A、SELECT,INTOC、SELECT,GROUPA、DISTINCTCALLA、JOINCINTO(4)A、GROUPBYC、HAVING定在后面如果在SELECT语句中使用集合函数时,B、SELECT,FROMD、仅SELECTBUNIONCTOPBUNIONCLIKEBCOMPUTEBYDCOMPUTE9、视图是一种常用的数据对象,它是提供(1_A_)和(1)数据的另一种途径,可以简化数据库操作,当使用

6、多个数据表来建立视图时,表的连接不能使用(2_A_)方式,并且不允许在该语句中包括(3_B_)等关键字。B、查看,检索D、检索,插入B、内连接D、右连接A、查看,存放C、插入,更新A、外连接C、左连接A、ORDERBY,COMPUTEB、ORDERBY,COMPUTE,COMPUTRBYC、ORDERBY,COMPUTEBY,GROUPBYD、GROUPBY,COMPUTEBY10、在SQLSERVER服务器上,存储过程是一组预先定义并(1_B_)的Transact-SQL语句。可以用(2_D_)来声明游标。A、保存B、编译C、解释D、编写A、CREATECURSORC、SETCURSORB、

7、ALTERCURSORD、DECLARECURSOR、填空题:1、更改MicrosoftSQLServer登录的密码的命令是,举例说明其语法格式:。2、WindowsNT授权认证模式只适用于平台,对于Windows95/98操作系统下的SQLServer系统将不适用。3、SQLServer中索引类型包括的三种类型分别是,和。4、在SELECT语句的FROM子句中最多可以指定个表或视图,相互之间要用分隔,当所查询的表不在当前数据库时,可用格式来指出表或视图对象。5、服务器网络实用工具的目的。6、在当SQLSERVER实例中有DBOA数据库,要将它设置成为单用户状态,请写出设置命令:。7、删除表命

8、令是:。8、用SELECT进行模糊查询时,可以使用或匹配符,但要在条件值中使用或等通配符来配合查询。并且,模糊查询只能针对字段类型是的查询。9、计算字段的累加和的函数是:,统计项目数的函数是:。10、SQLSERVER中的编程语言就是语1、Sp_password,sp_password"12345”,"54321","abc"2、 WindowsNT3、 唯一索引,簇索引,非簇索引4、 256,逗号,”数据库.所有者名称.对象名称”5、 为客户端网络实用工具提供参数。6、 sp_dboption'DBOA','singl

9、euse','true'7、 droptable8、 like,notlike,“"_”,字符9、Sum(),Count()10、TranSact_SQL三、判断题1、在CREATEINDEX语句中,使用CLUSTERED来建立簇索引。()2、可以在企业管理器中修改数据库的名称。()3、恢复数据,可以在查询分析器中使用这样的命令:BACKUPDATABASEdatabase_nameFROMbackup()4、在查询分析器中修改帐户时可以用系统存储过程Sp_modibaccess。()5、每个存储过程向调用方返回一个整数返回代码。如果存储过程没有显式设置返回代

10、码的值,则返回代码为0,表示成功。6、在Transact-SQL语句中,对不符合所有标识符规则的标识符必须进行分隔。7、在SQLSERVER中,触发器的执行是在数据的插入、更新或删除之前执行的。8、在Transact-SQL语句的WHERE子句中,完全可以用IN子查询来代替OR逻辑表达式。9、通配符"”表示某单个字符。10、因为通过视图可以插入、修改或删除数据,因此视图也是一个实在表,SQLSERVER将它保存在syscommens系统表中。1、,2、X3、X4、X5、,6、,7、X8、X9、,10、X四、简答题:1、写出关系型数据库的第一、第二、第三标准形式的各自要求。第一标准形式

11、:由原子值和主键值组成,数据表中的每一个字段都不可以再分。(同一数据表中同类字段不允许重复出现,在一个字段内也不允许放置多个数据项)第二标准形式:要求所有的非关键字段完全依赖于主键。(或类似的解释)第三标准形式:每一个非主键字段列中没有可传递的的依赖性。(一个非主键列不能依赖于另一个非主键列)2、触发器的类型以及相对的语句命令?类型:INSERT触发器、UPDATE触发器、DELETE触发器相对应的语句:INSERT语句、UPDATE语句、DELETE语句3、自定义函数的类型?各自原返回值。自定义函数类型:标量函数返回值:单个数据值内嵌表值函数返回值:table,多语句表值函数返回值:tabl

12、e4、用户权限的种类有哪些?各自的作用?对象权限作用:决定用户对数据库对象所执行的操作,包括用户对数据库中的表、视图、列或存储过程等对象的操作权限语句权限作用:决定用户能否操作数据库和创建数据库对象隐含权限作用:控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。5、写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。)select*fromAwhereidbetween31and40五、编程填空题:1、填写出下列触发器中缺少的关键字,使下面语句完整:ifupdate(lcostprice)updateb_dru

13、g_datasetscostprice=(selectIcostpricefrominsertedGROUPbycodno,lcostprice,scostpricehavingb_drug_data.codno=inserted.codno)/(selectfscofromb_drug_dataGROUPBYcodno,fscohavingb_drug_data.codno=(selectcodnofrominsertedgroupbycodno)whereb_drug_data.codno_IN_(selectcodnofrominserted)2、设有一个关系Student(学号,姓名,

14、系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:SELECT学号,姓名,AVG(成绩)AS平均成绩FROMStudentGROUPBY_(1)A_HAVING_(2)B_(1)A.学号B.姓名C.系名D.课程号(2)A.COUNT(DISTINCT学号)3B.COUNT(课程号)3C.COUNT(DISTINCT学号)=3D.COUNT(课程号)=3六、分析编码题1、请使用Transact-SQL建立如下表:表名:雇员基本信息表;字段名数据类型宽度精度RJ空性要求NO_iDCHAR7NOTNULL设为主键NAMECHAR10NOTNULLSEXC

15、HAR2NOTNULL默认值为“男”AGEiNTNOTNULLDEPTvARCHAR50NULLPHONEvARCHAR20NULLNOTESvARCHAR50NULLCREATETABLE雇员基本信息表(NO_IDcharnotnullprimarykey,NAMEchar(10)notnull,SEXchar(2)notnulldefault男',AGEintnotnull,DEPTvarchar(50)null,PHONEvarchar(20)null,NOTESvarchar(50)null)2、现有1销售表,它们结构如下:idintcodnochar(7)codnamevar

16、char(30)specvarchar(20)pricenumeric(10,2)sellnumintdeptnochar(3)selldatedatetime要求:写出查询销售时间段在(标识号)(商品编码)(商品名称)(商品规格)(价格)(销售数量)(售出分店编码)(销售时间)2002-2-15日到2002-4-29之间,分店编码是01的所有记录。SELECT*FROM销售表WHERE(selldate>='2002-2-15'ANDselldate<='2002-4-29')ANDdeptno='01'3、在table1数据表中增

17、加“No_id”字段,数据类型char(12),不可空,并将其设定为UNIQUE约束,写出其命令语句。ALTERTABLEtable1ADDNo_idCHAR(12)NOTNULLCONSTRAINTtable1_uniqueUNIQUE4、现在有个表(class_room)是主表,另外一个表(students)是子表左图所示,若用关联查询得到右边的查询结果,该怎么做?参看下面的图,请写出Sql语句。selectc.classroomname,s.studentname,s.scorefromclassroomcleftjoinstudentssonc.classroom_id=s.class

18、_id5、用SQL写语句:在下列三张表中选出ID为“1”的人的NAME和AGE。表1表2表3NoNameAgeNoIDNo102Ja231021102103Ba231041103104Na241032104注意:表3里面的No是对应表1和表2的也就是说要输出ID=1的No对应表1,表2的No都相同的数据Select表1.name,表2.agefrom表1,表2,表3where表1与。=表2.noand1.no=il3.noand表3.id=16、有一个表StudentAchievement(学生成绩),它有三个字段:StudentID(varchar(8),学生编号),CourseID(var

19、char(10),课程编号),Achievement(int,成绩),写一条SQL语句,筛选出每门课程的前两名的学生编号,课程编号,成绩并排序。SELECT*FROMSTUDENTACHIEVEMENTAWHERE(SELECTCOUNT(*)FROMSTUDENTACHIEVEMENTBWHEREB.COURSEID=A.COURSEIDANDB.ACHIEVEMENT>=A.ACHIEVEMENT)<=2ORDERBYA.COURSEID,A.ACHIEVEMENTDESC7、表结构如下:item(itemno(varchar(20),in_price(float),out_p

20、rice(float)-itemno:产品编号,in_price:采购价,out_price:销售价.INOut_list(itemno(varchar(20),flag(char(1),qty(int)-itemno:产品编号,flag:标志,其中flag=1表示入仓,flag=2表示出仓.qty:入仓或出仓数量.(1) 用一条SQL列出仓存;Selectitemno,sum(qty)-(selectsum(qty)frominout_listawherea.itemno=b.itemnoandflag=0groupbyitemno)frominout_listbwhereflag=1groupbyitemno(2) 用一条SQL列出每个产品的库存金额;selectitemno,sum(qty)*(selectin_pricefromitemwhereitemno=b.itemno)-(selectsum(qty)frominout_listawherea.it

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论