sql复习题库(42页).doc
-一.单选题708,下列属于数据的是( ) A、23是正数 B、2.3是小数 C、2011 D、水深5米 C709,下列属于信息的是( ) A、23是正数 B、1985 C、2011 D、123 A710,数据库的英文缩写是 ( ) A、DB B、DBMS C、DBS D、BBS A711,数据库管理系统的英文缩写是 ( ) A、DB B、DBMS C、DBS D、BBS B712,数据库系统的英文缩写是 ( ) A、DB B、DBMS C、DBS D、BBS C713,人工管理阶段是数据管理技术发展的( ) A、第一阶段 B、第二阶段 C、第三阶段 D、第四阶段 A714,文件系统阶段是数据管理技术发展的( ) A、第一阶段 B、第二阶段 C、第三阶段 D、第四阶段 B715,数据库系统阶段是数据管理技术发展的( ) A、第一阶段 B、第二阶段C、第三阶段 D、第四阶段 C716,SQL是( )数据库管理系统 A、层次型 B、网状型 C、关系型 D、数据型 C717,数据处理是指将数据转换成( )的过程A、信息 B、数据 C、计算机 D、数字 A 数据的形式可以是数字、文字、图形或声音等,数据经过解释并赋予一定的意义之后,便成为信息。718,数据库管理系统所支持的数据模型有 A、数学模型 B、层次模型 C、物理模型 D、经济模型 B719,关系模型是( )系统所支持的数据模型 A、数据库 B、数据表 C、数据库管理 D、表单 C720,一个二维表操作是一种 ( ) A、层次操作 B、网络操作 C、投影操作 D、关系操作 D721,下列系统数据库中最重要的是( ) A、master B、modol C、msdb D、tempdb A722,下列属于模版数据库的是( ) A、master B、modol C、msdb D、tempdb B723,下列属于代理服务数据库的是( ) A、master B、modol C、msdb D、tempdb C724,下列属于临时数据库的是( ) A、master B、modol C、msdb D、tempdb D725,下列属于数值型常量的是 A、”123” B、456” C、789 D、5E-6 D726,123E-5是( )常量 A、数值型 B、日期型 C、字符型 D、逻辑型 A727,getdate()是( )类型数据 A、数值型 B、日期型 C、字符型 D、逻辑型 B728,'2008-8-8'是( )常量 A、数值型 B、日期型 C、字符型 D、逻辑型 C729,exp(0)+25表达式的运算结果是 A、25 B、25 C、26 D、27 C730,'123'+abc 表达式的运算结果是 A、123 B、abc C、'123abc' D、123abc C731,1=2表达式的运算结果是 A、F B、False C、ture D、.T. B732,1>2 or 2>1表达式的运算结果是 A、F B、False C、t D、ture D733,函数ABS(-11.4)的值是 A、11.4 B、-11.4 C、11 D、12 A734,函数SQRT(9)的值是 A、9 B、4 C、3 D、6 C735,函数LEN('ABC计算机')的值是 A、6 B、9 C、8 D、7 B736,函数SUBSTRING('ABC12计算机',4,2)的值是 A、"C12" B、"12计" C、'12' D、"计算机" C737,函数LTRIM(' 计算机')的值是 A、" 计算机" B、'计算机' C、"计算机 " D、" 计算机 " B738,函数YEAR('2009-8-12')的值是 A、2009 B、2008 C、8 D、12 A739,函数MONTH('2009-8-12')的值是 A、2009 B、2008 C、8 D、12 C740,函数DAY('2009-8-12')的值是 A、2009 B、2008 C、8 D、12 D741,函数STR(2009)的值是 A、2009 B、2009 C、”2008” D、2010 B742,函数POWER(2,10)的值是 A、1000 B、100 C、20 D、1024 D743,函数CEILING(123.45)的值是 A、123 B、124 C、100 D、125 B744,函数FLOOR(123.45)的值是 A、123 B、124 C、100 D、125 A745,函数PI()的值是 A、2 B、3 C、4 D、3.14159 D746,cast('123' as int)+500的值是 A、123500B、623 C、123 D、500 B747,创建存储过程的命令是 A、create B、proce C、execD、exe A748,执行存储过程的命令是 A、create B、proce C、exec D、exe C749,在表中创建主键约束的关键字是 A、primary key B、unique C、check D、foreign key A750,在表中创建唯一性约束的关键字是 A、primary key B、unique C、check D、foreign key B751,在表中创建检查约束的关键字是 A、primary key B、unique C、check D、foreign key C752,在表中创建外部键约束的关键字是 A、primary key B、unique C、check D、foreign key D753,创建表的命令是 A、create B、alter C、drop D、tabel A754,修改表的命令是 A、create B、alter C、drop D、tabel B755,删除表的命令是 A、create B、alter C、drop D、tabel C756,防止数据库中数据的丢失的方法之一是对数据库进行 A、备份 B、还原C、分离D、附加 A757,让数据库回到备份时状态的方法之一是对数据库进行 A、备份 B、还原 C、分离 D、附加 B758,让数据库脱离原属服务器的方法之一是对数据库进行 A、备份 B、还原 C、分离 D、附加 C759,让数据库附加到相应服务器上的方法是对数据库进行 A、备份 B、还原 C、分离 D、附加 D二.判断题760,180是数据 Y761,180是信息 N762,他的身高是180cm是数据 N763,他的身高是180cm是信息 Y764,数据库的英文缩写是DB Y Data Base765,数据库管理系统的英文缩写是DBMS Y 766,数据库系统的英文缩写是DBS Y767,数据管理技术发展的第一阶段是人工管理阶段 Y768,数据管理技术发展的第二阶段是文件系统阶段 Y769,数据管理技术发展的第三阶段是数据库系统阶段 Y770,现实世界是用概念模型来对其进行描述 N771,信息世界是用概念模型来对其进行描述 Y772,实体联系方法(Entity Relationship Approach)简称E-R方法 Y773,E-R方法用E-R图来描述现实世界的概念模型 Y774,E-R图提供了表示实体、属性和联系的方法 Y775,数据模型表示数据与数据之间的联系方法 Y776,SQL是关系型数据库管理系统 Y777,SQL是网状型数据库管理系统 N778,一个二维表就是一个关系 Y779,网状型数据模型就是一个二维表 N780,SQL Server是一种基于客户/服务器模式的关系数据库管理系统 Y781,SQL Server采用Transact-SQL语言在客户机和服务器之间传递信息 Y782,企业管理器可以完成数据库管理与维护的大部分工作 Y783,查询分析器主要用于输入和执行Transact-SQL语句 Y784,服务管理器用来启动、暂停、继续和停止数据库服务器的实时服务 Y785,123E-5是数值型常量 Y786,2009-7-26是日期型常量 N787,2009-7-26是字符型常量 N788,'98632' 是字符型常量 Y789,数值表达式的运算结果是数值型数据 Y790,字符表达式的运算结果是字符型数据 Y791,日期表达式的运算结果是日期型数据 N792,关系表达式的运算结果是关系型数据 N793,逻辑表达式的运算结果是逻辑型数据 Y794,函数rand()的数据类型是数值型的 Y795,函数exp(0)的数据类型是数值型的 Y796,函数len('ase')的数据类型是字符型的 N797,函数len('ase')的数据类型是数值型的 Y798,函数getdate()的数据类型是逻辑型的 N799,函数getdate()的数据类型是日期型的 Y800,表就是数据库,数据库中只有表 N801,字段是字符型常量 N802,数据表中每一行对应一条记录 Y803,删除一个字段就是删除对应表中的一列数据 Y804,删除一个字段就是删除对应表中的一行数据 N805,删除一个记录就是删除对应表中的一行数据 Y806,删除一个记录就是删除对应表中的一列数据 N807,执行路线是一条直线的程序结构为顺序结构 Y808,执行路线从一条分成多条的程序结构为分支结构 Y809,执行路线形成闭环的程序结构为循环结构 Y810,备份数据库的目的是防止数据库中数据的丢失 Y811,备份数据库的目的是防止硬盘损坏 N812,还原数据库的目的是让数据库回到备份时的状态 Y813,还原数据库的目的是重建数据库 N814,分离数据库的目的是让数据库脱离原属服务器 Y815,分离数据库的目的是删除数据库 N816,附加数据库的目的是让数据库附加到相应的服务器上 Y817,附加数据库只能附加到原来的服务器上 N818,数据库的索引和书籍中的目录非常相似 Y819,为了提高数据检索的能力,在数据库中引入了索引的概念 Y三.命令填空题820,创建数据库gz命令create【 1】 database821,创建数据库gz命令【 1】database create822,打开数据库gz命令【 1】 use823,修改数据库gz命令alter【 1】 database824,修改数据库gz命令【 1】database alter825,删除数据库gz命令drop【 1】 database826,删除数据库gz命令【 1】database drop827,创建数据表cj命令 create 【 1】 table828,创建数据表cj命令 【 1】table create829,增加字段:【 1】 table cj add 入学日期 datetime(8) alter830,增加字段:alter table cj 【 1】 入学日期 datetime(8) add831,删除表:【 1】 table chji Drop832,删除表:Drop 【 1】 chji table833,插入记录:【 1】 into 成绩表(学号,计算机) values('201119511026', 75) insert834,插入记录:insert 【 1】 成绩表(学号,计算机) values('201119511026', 75) into835,插入记录:insert into 成绩表(学号,计算机) 【 1】('201119511026', 75) values836,cj表中插入记录:insert into 【 1】(学号,计算机) values('201119511026', 75) cj837,把cj表中的内容全部插入到ch中:【 1】 ch select * from insert838,把cj表中的内容全部插入到ch中:insert 【 1】 select * from ch839,把cj表中的内容全部插入到ch中:insert ch 【 1】 * from select840,把cj表中的内容全部插入到ch中:insert ch select * 【 1】 from841,删除理学院的所有记录:【 1】 from gzqd where 单位名称=理学院 delete842,删除理学院的所有记录:delete 【 1】 gzqd where 单位名称=理学院 from843,删除理学院的所有记录:delete from gzqd 【 1】 单位名称=理学院 where844,删除理学院的所有记录:delete from gzqd where 单位名称=【 1】 理学院845,计算实发工资:【 1】 gzqd set 实发=基本工资+津贴-个人税-水电费 update846,计算实发工资:update gzqd 【 1】 实发=基本工资+津贴-个人税-水电费 set847,查询gzqd表中所有记录:【 1】 * from gzqd Select848,查询gzqd表中所有记录:Select 【 1】 from gzqd *849,查询gzqd表中所有记录:Select * 【 1】 gzqd from850,查询gzqd表中所有记录:Select * from 【 1】 gzqd851,查询gzqd表中姓名和 基本工资的情况:Select 姓名, 【 1】 from gzqd 基本工资852,查询gzqd表中前5条记录:Select【 1】5 * from gzqd top853,查询基本工资>1000的记录:select * from gzqd 【 1】 基本工资>1000 where854,查询基本工资>1000的记录:select * from gzqd where 基本工资【 1】1000 >855,查询理学院的教授情况:select * from gzqd where 单位名称='【 1】' and 职称='教授' 理学院856,查询理学院的教授情况:select * from gzqd where 单位名称='理学院' 【 1】 职称='教授' and857,查询理学院的教授情况: select * from gzqd where 单位名称='理学院' and 职称='【 1】' 教授858,查询姓李的职工情况;select * from gzqd where 姓名 【 1】 '李%' like859,查询姓李的职工情况;select * from gzqd where 姓名 like '【 1】%' 李860,查询姓李的职工情况;select * from gzqd where 姓名 like '李【 1】' %861,查询实发工资在1000-1300元之间的职工情况:select * from gzqd where 实发 【 1】 1000.00 and 1300.00 between862,查询实发工资在1000-1300元之间的职工情况: select * from gzqd where 实发 between 1000.00 【 1】 1300.00 and863,查询结果按实发工资降序排列: select * from gzqd order by 实发 【 1】 desc864,查询结果按实发工资降序排列: select * from gzqd 【 1】 by 实发 desc order865,统计gzqd表的记录个数:Select 【 1】(*) as 记录数 from gzqd count866,求基本工资的平均值:Select 【 1】(基本工资) from gzqd avg867,求基本工资的平均值:Select avg(【 1】) from gzqd 基本工资868,求基本工资的总额:Select 【 1】(基本工资) from gzqd sum869,查询结果按单位名称分组: Select 单位名称,姓名 from gzqd 【 1】 by 单位名称,姓名 group870,查询结果按单位名称分组: Select 单位名称,姓名 from gzqd group by 【 1】,姓名 单位名称871,保存查询结果到cj:select * 【 1】 cj from cc into872,保存查询结果到cj:select * into 【 1】 from cc cj873,创建视图st:【 1】 view st asselcet * from gzqd create874,创建视图st:create 【 1】 st asselcet * from gzqd view875,创建视图st:create view st 【 1】selcet * from gzqd as四.程序填空题876,在数据库xs中建立数据表cj(包括字段:学号、姓名、数学、外语、计算机)use 【1 】create 【 2】 【 3】(学号 char(12) not null, 姓名 char(8), 【 4】 decimal(6,2), 外语 decimal(6,2), 【5 】 decimal(6,2)xs,table,cj,数学,计算机877,两个变量值的交换declare a int ,b int ,c int set a=5set b=9select a as a,b as bset c=【 1】set a=【 2】set b=【 3】【 4】 a as a,【 5】 as ba,b,c,select,b878,已知三角形的三条边为a、b、c,求其面积。【 1】 a int,b int,c int,p decimal, s decimal (10,5)【 2】 a=7set b=5set c=6set p=(a+b+c)/【 3】set s=【 4】(p*(p-a)*(p-b)*(p-c)print 【 5】declare,set,2,sqrt,s879,判断一个学生成绩cj属于哪个等级declare cj int,dj varchar(20)【 1】 cj=round(rand()*100,0)+1set dj=case when 【 2】 then '不及格' 【 3】 cj>=60 and cj<90 then '及格' when cj>=90 【 4】 cj<=100 then '优秀'else '数据错误'endselect 【 5】 as '等级'set,cj<60,when,and,dj880,求数据库gz中的表文件gzqd中的基本工资的平均值、总计、最大值和最小值【 1】 gz【 2】 count(*),【 3】(基本工资),sum(基本工资),【 4】(基本工资),min(基本工资) 【 5】 gzqduse,select,avg,max,from881,判断某一年(y)是否为闰年?【 1】 d int【 2】 d=year('2012-5-8')if (d【 3】4=0 and d%100!=0) 【 4】 (d%400=0) print str(d)+'是闰年'else print str(【 5】)+'不是闰年'declare,set,%,or,d882,计算1+2+3+100declare i int,s intset 【 1】set i=1while i<=【 2】 begin set s=【 3】+i set i=i+【4】 【 5】print ss=0,100,s,1,end883,计算1+3+5+99【 1】 i int,s intset s=0set i=【 2】while i<=99 【 3】 set s=s+【4】 set i=i+【 5】 endprint sdeclare,1,begin,i,2884,计算2+4+6+100 【 1】 i int,s intset s=0set i=【 2】while i<=100 【 3】 set s=s+【4】 set i=i+【 5】 endprint sdeclare,2,begin,i,2885,求所有的3位正整数除以99的商和余数,并输出。declare i int, a int, b intset i=【 1】while i<=【 2】 【 3】 set a=i【4】99 set b=i【 5】99 select a , b set i=i+1 end100,999,begin,/,%886,求1!+2!+3!+4!+5!。declare i int,k int,t int,s bigintset s=【 1】set k=1while k<=【 2】 begin set t=【 3】 set i=1 while i<=【 4】 begin set t=t*i set i=i+1 end set s=s+【 5】 set k=k+1 endprint s0,5,1,k,t887,统计未来100年中闰年的年份个数declare i int,h intset h=【 1】set i=2013while i<=【 2】 begin if (i%4=0 and i%100!=0) or (i%400=0) set h=h+【 3】 set i=i+1 【4】print 【 5】0,2113,1,end,h888,求1至100之间能被7整除的数之和declare i int,s 【 1】set s=0set i=【 2】while i<=100 begin if i%【 3】=0set s=s+【 4】 set i=i+1 【 5】print sint,1,7,i,end889,求和:s=1+1/2+1/4+1/8+1/1024declare i int,s decimal(8,5)set s=【 1】set i=1while i<=【2】 beginset s=s+1.0/【 3】(2,i) set i=i+【4】 【 5】print s1,10,power,1,end890,求s=1+2+3+n>9999的最小ndeclare n int,s intset s=【1 】set n=1b_1: set s=s+【2 】 set n=n+1 if 【3 】>=9999 begin select 【4】 return end 【5】 b_10,n,s,n-1,goto891,创建存储过程njc,求t=n!,并使用输出参数返回结果Create 【1 】 njci int,n int, t bigint 【2】【3】 set t=【4 】 set i=1 while i<=n begin set t=t*【5 】 set i=i+1 endprocedure,output,as,1,i892,求解方程ax2+bx+c=0 (a0) (建立过程:jfc)【 1】 procedure jfca float, b float , c float, x1 float output, x2 float output , xx varchar(30) output【 2】if a=0 【3】 if b*b-4*a*c>=0 begin set x1=(-b+sqrt(b*b-4*a*c)/(2*a) set x2=(-b-sqrt(b*b-4*a*c)/(2*a) select x1,【 4】 end【5】 set xx= ' 此方程无实根'create,as,return,x2,else五.编程题893,创建存储过程jszf:计算cj表(字段:学号、姓名、数学、外语、计算机、总分、平均分)中的总分 CREATE PROCEDURE jszfASUPDATE cj SET 总分 = 数学+外语+计算机894,创建存储过程jspj:计算cj表(字段:学号、姓名、数学、外语、计算机、总分、平均分)中的平均分 CREATE PROCEDURE jspjASUPDATE cj SET 平均分 = (数学+外语+计算机)/35,创建存储过程jssf:计算gz表(字段:单位名称、姓名、基本工资、津贴、个人税、水电费、实发工资、备注)中的实发工资 Create procedure jssf asupdate gz set 实发=基本工资+津贴-个人税-水电费896,创建存储过程jsfj:使gz表(字段:单位名称、姓名、基本工资、津贴、个人税、水电费、实发工资、备注)中的基本工资增加50元 Create procedure jsfj asupdate gz set 基本工资=基本工资+50898,添加gz表(字段:单位名称、姓名、基本工资、津贴、个人税、水电费、实发工资、备注)中的备注:单位名称为理学院、工学院、商学院分别对应的备注为理、工、商。 update gz set 备注=case 单位名称 when '理学院' then '理' when '工学院' then '工' when '商学院' then '商'end 900,求边长为10的正方形内切圆面积 declare s float,d intset d=10set s=pi()*square(d/2)print s901,已给2个正整数m=78和n=329,求n除以m的商和余数 902, 若x='abc5hh73k9',求x中的数字之和 903,将任意一个3位正整数x=753进行分解,然后求其各个数位上的数字之和s 904,创建存储过程fd:计算y值:x>0, y为x的平方根; x<=0, y为x的绝对值 CREATE PROCEDURE fd x realAs Declare y real if x>0 set y=sqrt(x) else set y=abs(x) print y905,创建存储过程fd:计算y值:x>0, y=x*x; x<=0, y=exp(x) CREATE PROCEDURE fd x realAs Declare y real if x>0 set y=x*x else set y=exp(x) print y906,创建存储过程qh,用于计算两个参数a与b之和并将其输出 CREATE PROCEDURE qh a real,b realAs Declare y real set y=a+b print y907,求s=0.1+0.2+0.3+1 908,求s=1+1/2+1/3+1/4+1/50 909,求s=1+2+4+8+16+1024 910,输出一个数列:1,2,3,4,5,6,7,8,9 911,求使s=1*2*3*n>10000 的最小n (参考程序填空题890)declare n int,s intset s=1set n=1while s<=10000 begin set s=s*n set n=n+1 end print n 912,有一张0.5mm厚足够大的纸,问对折多少次可以达到珠峰高度(8848.13m) declare n float,s intset n=0.5set s=0while n<8848.13*1000 begin set n=n*2 set s=s+1 end print s913,找出并输出100-999之间所有能被22整除的数 914,找出并输出2013-2113之间所有闰年的年份(判断条件为:能被4整除但不能被100整除,或能被400整除)915、求半径为r的圆面积sDECLARE r float,s floatSET r=5SET s=pi()*r*rprint s916、已知三角形的三条边(a、b、c)的边长,求面积sDECLARE a float,b float,c float,p float,s floatset a=3set b=4set c=5set p=(a+b+c)/2set s=sqrt(p*(p-a)*(p-b)*(p-c)print '圆面积s='+str(s)917、假设某班有50个学生,其学号的尾数为01-50,随机抽取一个学生课堂发言。DECLARE a intset a=ceiling(rand()*50)print '随机抽取的学号为:'+str(a)918、求解方程2x2+7x-78=0919、判断某一年(y)是否为闰年?DECLARE y intset y=2000if y%4=0 and y%100<>0 or y%400=0 print str(y)+'年是闰年'else print str(y)+'年不是闰年'920、判断成绩的等级DECLARE a intSET a=69print CASE WHEN a>=90 THEN '优秀' WHEN a>=80 and a<90 THEN '良好' WHEN a>=70 and a<80 THEN '中等' WHEN a>=60 and a<70 THEN '及格' else '不及格' END921、求和:s=1+2+3+100 DECLARE i smallint,sum smallintSET i=1SET sum=0WHILE i<=100 BEGIN SET sum=sum+i SET i=i+1 ENDPRINT ' s=1+2+3+100='+str(sum)922、求和:s=1+3+5+99 923、求和:s=2+4+6+100924、求和:1-100之间能被7整除的所有数之和sDECLARE i smallint,sum smallintSET i=0SET sum=0WHILE i<=100 BEGIN SET i=i+1 if i%7=0 SET sum=sum+i ENDPRINT '1-100之间能被7整除的所有数之和s='+ltrim(str(sum)925、求