网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

关系数据库标准语言SQL真题及解析——洞庭软件园培训专用资料

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员编辑为广大网友搜集整理了:关系数据库标准语言SQL真题及解析——洞庭软件园培训专用资料绩等信息,祝愿广大网友取得需要的信息,参考学习。


    第四章关系数据库标准语言SQL
    4.2005年笔试真题.1
    (1)在VisualFoxPro中,下列关于删除记录的描述中正确的是()[2005年4月选择题17]A)SQL的DELETE命令在删除数据库表中的记录之前,不需要用USE命令打开表B)SQL的DELETE命令和传统VisualFoxPro的DELETE命令在删除数据库表中的记录之前,都需要用USE命令打开表C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统VisualFoxPro的DELETE命令只能逻辑删除数据库表中的记录D)传统VisualFoxPro的DELETE命令在删除数据库表中的记录之前不需要用USE命令打开表(2)使用SQL语句将学生表S中年龄(AGE)大于30岁的记录删除,正确的命令是()2005年4月选择题24]A)DELETEFORAGE>30C)DELETESFORAGE>30B)DELETEFROMSWHEREAGE>30D)DELETESWHEREAGE>30
    (3)在VisualFoxPro中,删除数据库表S的SQL命令是()[2005年4月选择题26]A)DROPTABLESC)DELETETABLES.DBFB)DELETETABLESD)DRASETABLES
    (4)使用SQL语句向学生表S(SNO,AGE,SN,SEX)中添加一条新记录,字段(SNO)、姓名(SN)、性别(SEX)、年龄(AGE)的值分别为0401、王芳、女、18,正确命令是()[2005年4月选择题28]A)APPENDINTOS(SNO,SN,SEX,AGE)VALUES('0401','王芳',18)'女',B)APPENDSVALUES('0401','王芳','女')18,C)INSERTINTOS(SNO,SEX,SN,AGE)VALUES('0401','王芳',18)'女',D)INSERTSVALUES('0401','王芳','女')18,(5)在SQL的SELECT查询结果中,消除重复记录的方法是()[2005年4月选择题30]A)通过指定主关键字C)使用DISTINCT子句B)通过指定惟一索引D)使用HAVING子句
    (6)在VisualFoxPro中,以下关于SQL的SELECT语句的描述中错误的是()[2005年4月选择题31]A)SELECT子句中可以包含表中的列和表达式B)SELECT子句中可以使用别名C)SELECT子句规定了结果集中的列顺序D)SELECT子句中列的顺序应该与表中列的顺序一致(7)下列关于SQL的HAVING子句的描述中错误的是()[2005年4月选择题32]A)HAVING子句必须与GROUPBY子句同时使用B)HAVING子句与GROUPBY子句无关C)使用WHERE子句的同时可以使用HAVING子句
    1
     D)使用HAVING子句的作用是限定分组的条件(8)使用如下三个数据库表:学生表:S(,,性别,出生日期,院系)课程表:C(课程号,课程名,学时)选课成绩表:SC(,课程号,成绩)在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。[2005年4月选择题34]用SQL语句查询选修的每门课程的成绩都高于或等于85分的学生的和,正确的命令是()A)SELECT,FROMSWHERENOTEXISTS;(S
    ELECT*FROMSCWHERESC.=S.AND成绩<85)B)SELECT,FROMSWHERENOTEXISTS;(SELECT*FROMSCWHERESC.=S.AND成绩>=85)C)SELECT,FROMS,SCWHERES.=SC.AND成绩>=85D)SELECT,FROMS,SCWHERES.=SC.ANDALL成绩>=85[2005年4月选择题35]用SQL语句检索选修课程在5门以上(含5门)的学生的、和平均成绩,并按平均成绩降序排序,正确的命令是()A)SELECTS.,,平均成绩FROMS,SC;WHERES.=SC.;GROUPBYS.HAVINGCOUNT(*)>=5ORDERBY平均成绩DESCB)SELECT,,AVG(成绩)FROMS,SC;WHERES.=SC.ANDCOUNT(*)>=5;GROUPBYORDERBY3DESCC)SELECTS.,(成绩)平均成绩FROMS,SC;WHERES.=SC.ANDCOUNT(*)>=5;GROUPBYS.ORDERBY平均成绩DESCD)SELECTS.,,AVG(成绩)平均成绩FROMS,.SC;WHERES.=SC.;GROUPBYS.HAVINGCOUNT(*)>=5ORDERBY3DESC(9)使用如下三个数据库表:金牌榜.国家代码C(3),dbf:金牌数I,银牌数I,铜牌数I获奖牌情况.国家代码C(3),dbf:运动员名称C(20),项目名称C(30),名次I国家.国家代码C(3),dbf:国家名称C(20)"金牌榜"表中一个国家一条记录;"获奖牌情况"表中每个项目中的各个名次都有一条记录,名次只取前3名,例如:国家代码001运动员名称刘翔项目名称男子110米栏名次1
    2
     001002002001001
    李小鹏菲尔普斯菲尔普斯郭晶晶李婷/孙甜甜
    男子双杠游泳男子200米自由泳游泳男子400米个人混合泳女子三米板跳板网球女子双打
    33111
    [2005年4月填空题11]为表"金牌榜"增加一个字段"奖牌总数",同时为该字段设置有效性规则:奖牌总数>=0,应使用SQL语句:ALTERTABLE金牌榜奖牌总数I奖牌总数>=0。
    [2005年4月填空题12]使用"获奖牌情况"和"国家"两个表查询"中国"所获金牌(名次为1)的数量,应使用SQL语句:SELECTCOUNT(*)FROM国家INNERJOIN获奖牌情况;国家.国家代码=获奖牌情况.国家代码;WHERE国家.国家名称="中国"AND名次=1[2005年4月填空题13]将金牌榜.中的新增加的字段奖牌总数设置为金牌数、银牌dbf数、铜牌数三项的和,应使用SQL语句:金牌榜奖牌总数=金牌数+银牌数+铜牌数
    (10)使用如下三个数据库表:职员.职员号C(3),dbf:C(6),性别C(2),组号N(1),职务C(10)客户.客户号C(4),dbf:客户名C(36),地址C(36),所在城市C(36)订单.订单号C(4),dbf:客户名C(4),职员号C(3),签订日期D,金
    额N(6.2)[2005年9月选择题29]查询金额最大的10%订单的信息,正确的SQL语句是()A)SELECT*TOP10PERCENTFROM订单B)SELECTTOP10%*FROM订单ORDERBY金额C)SELECT*TOP10PERCENTFROM订单ORDERBY金额D)SELECTTOP10PERCENT*FROM订单ORDERBY金额DESC[2005年9月选择题30]查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是()A)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG_金额>200B)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG(金额)>200C)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>3ANDWHEREAVG(金额)>200D)SELECT职员号FROM订单GROUPBY职员号WHERECOUNT(*)>3ANDAVG_金额>200[2005年9月选择题31]查询2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确的SQL语句是()A)SELECT订单号,客户名,签订日期FROM订单JOIN客户;
    3
     ON订单.客户号=客户.客户号WHERE签订日期>{^2005-1-1}B)SELECT订单号,客户名,签订日期FROM订单JOIN客户;WHERE订单.客户号=客户.客户号AND签订日期>{^2005-1-1}C)SELECT订单号,客户名,签订日期FROM订单,客户;WHERE订单.客户号=客户.客户号AND签订日期<{^2005-1-1}D)SELECT订单号,客户名,签订日期FROM订单,客户;ON订单.客户号=客户.客户号AND签订日期<{^2005-1-1}[2005年9月选择题32]查询没有签订任何订单的职员信息(职员号和),正确的SQL语句是()A)SELECT职员.职员号,FROM职员JOIN订单;ON订单.职员号=职员.职员号GROUPBY职员.职员号HAVINGCOUNT(*)=0B)SELECT职员.职员号,FROM职员LEFTJOIN订单;ON订单.职员号=职员.职员号GROUPBY职员.职员号HAVINGCOUNT(*)=0C)SELECT职员号,FROM职员;WHERE职员号NOTIN(SELECT职员号FROM订单)D)SELECT职员.职员号,FROM职员;WHERE职员.职员号<>(SELECT订单.职员号FROM订单)[2005年9月选择题33]有如下SQL语句:SELECT订单号,签订日期,金额FROM订单,职员;WHERE订单.职员号=职员.职员号AND="李二"与如上语句功能相同的SQL语句是()A)SELECT订单号,签订日期,金额FROM订单;WHEREEXISTS(SELECT*FROM职员WHERE="李二")B)SELECT订单号,签订日期,金额FROM订单WHERE;EXISTS(SELECT*FROM职员WHERE职员号=订单.职员号AND="李二")C)SELECT订单号,签订日期,金额FROM订单;WHEREIN(SELECT职员号FROM职员WHERE="李二")D)SELECT订单号,签订日期,金额FROM订单WHEREIN;(SELECT职员号FROM职员WHERE职员号=订单.职
    员号AND="李二")[2005年9月选择题34]从订单表中删除客户号为"1001"的订单记录,正确的SQL语句是()A)DROPFROM订单WHERE客户号="1001"B)DROPFROM订单FOR客户号="1001"C)DELETEFROM订单WHERE客户号="1001"D)DELETEFROM订单FOR客户号="1001"[2005年9月选择题35]将订单号为"0060"的订单金额改为169元,正确的SQL语句是()A)UPDATE订单SET金额=169WHERE订单号="0060"B)UPDATE订单SET金额WITH169WHERE订单号="0060"
    4
     C)UPDATEFROM订单SET金额=169WHERE订单号="0060"D)UPDATEFROM订单SET金额WITH169WHERE订单号="0060"(11)在SQL的SELECT查询中使用月填空题9]填空题(12)在VisualFoxPro中,使用SQL的SELECT语句将查询结果存储在一个临时表中,应该使用子句。[2005年9月填空题11]填空题子句消除查询结果中的重复记录。[2005年9
    (13)在VisualFoxPro中,使用SQL的CREATETABLE语句建立数据库表时,使用子句说明主索引。[2005年9月填空题12]填空题(14)在VisualFoxPro中,使用SQL的CREATETABLE语句建立数据库表时,使用子句说明有效性规则(域完整性规则或字段取值范围)。[2005年9月填空题13]填空题(15)在SQL的SELECT语句进行分组计算查询时,可以使用的分组。[2005年9月填空题14]填空题(16)设有s(,,性别)和sc(,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的、和性别。[2005年9月填空题填空题15]SELECT,,性别FROMs;WHERE(SELECT*FROMscWHEREsc.=s.AND成绩<85)子句来去掉不满足条件
    4.2006年笔试真题.2(1)SQL的数据操作语句不包括()[2006年4月选择题22]A)INSERTC)DELETEB)UPDATED)CHANGE
    (2)"图书"表中有字符型字段"图书号",要求用SQLDELETE命令将图书号以字母A开头的图书记录全部打上删除标记,正确的命令是()[2006年4月选择题25]A)DELETEFROM图书FOR图书号LIKE"A%"B)DELETEFROM图书WHILE图书号LIKE"A%"C)DELETEFROM图书WHERE图书号="A*"D)DELETEFROM图书WHERE图书号LIKE"A%"(3)SQL语句中修改表结构的命令是()[2006年4月选择题29]A)ALTERTABLEC)ALTERSTRUCTUREB)MODIFYTABLED)MODIFYSTRUCTURE
    (4)假设"订单"表中有订单号、职员号、客户号和金额字段,正确的SQL语句只能是()[2006年4月选择题30]A)SELECT职员号FROM订单;GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG_金额>200B)SELECT职员号FROM订单;GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG(金额)>200C)SELECT职员号FROM订单;GROUPBY职员号HAVINGCOUNT(*)>3WHEREAVG(金额)>200
    5
     D)SELECT职员号FROM订单;GROUPBY
    职员号WHERECOUNT(*)>3ANDAVG_金额>200(5)要使"产品"表中所有产品的单价上浮8%,正确的SQL语句是()[2006年4月选择题31]A)UPDATE产品SET单价=单价+单价*8%FORALLB)UPDATE产品SET单价=单价*1.FORALL08C)UPDATE产品SET单价=单价+单价*8%D)UPDATE产品SET单价=单价*1.08(6)假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是()[2006年4月选择题32]A)SELECT产品名称,AVG(单价)FROM产品GROUPBY单价B)SELECT产品名称,AVG(单价)FROM产品ORDERBY单价C)SELECT产品名称,AVG(单价)FROM产品ORDERBY产品名称D)SELECT产品名称,AVG(单价)FROM产品GROUPBY产品名称(7)设有S(,,性别)和SC(,课程号,成绩)两个表,用下列SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的、和性别,正确的是()[2006年4月选择题34]A)SELECT,,性别FROMsWHEREEXISTS;(SELECT*FROMscWHEREsc.=s.AND成绩<=85)B)SELECT,,性别FROMsWHERENOTEXISTS;(SELECT*FROMscWHEREsc.=s.AND成绩<=85)C)SELECT,,性别FROMsWHEREEXISTS;(SELECT*FROMscWHEREsc.=s.AND成绩>85)D)SELECT,,性别FROMsWHERENOTEXISTS;(SELECT*FROMscWHEREsc.=s.AND成绩<85)(8)从"订单"表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的SQL语句是()[2006年4月选择题35]A)DROPFROM订单WHERE签订日期<={^2004-1-10}B)DROPFROM订单FOR签订日期<={^2004-1-10}C)DELETEFROM订单WHERE签订日期<={^2004-1-10}D)DELETEFROM订单FOR签订日期<={^2004-1-10}(9)SQL支持集合的并运算,运算符是(10)SQLSELECT语句的功能是。[2006年4月选填空题11]。[2006年4月选填空题12]
    (11)"职工"表有工资字段,计算工资合计的SQL语句是:SELECTFROM职工[2006年4月选填空题13]
    (12)要在"成绩"表中插入一条记录,应该使用的SQL语句是:[2006年4月选填空题14]成绩(,英语,数学,语文)VALUES("2001100111",78,91,86)(13)在SQLSELECT语句的ORDERBY短语中如果指定了多个字段,则[2006年9月选择题19]
    6
     A)无法进行排序C)按从左至右优先依次排序(14)25~33题使用的数据表如下:
    B)只按第一个字段排序D)按字段排序优先级依次排序
    当前盘当前目录下有数据库:大奖赛.dbc,其中有数据表“歌手.dbf”“评分.dbf”“歌、。手”表:
    歌手号1001200130014001…王蓉许巍周杰伦林俊杰
    [2006年9月选择题25]为“歌手”表增加一个字段“最后得分”的SQL语句是()A)ALTERTABLE歌手
    ADD最后得分F(6,2)B)ALTERDBF歌手ADD最后得分F6,2C)CHANGETABLE歌手ADD最后得分F(6,2)D)CHANGETABLEINSERT最后得分F6,2[2006年9月选择题26]插入一条记录到“评分”表中,歌手号、分数和评委会分别是“1001”、9.9和“105”,正确的SQL语句是()A)INSERTVALUES("1001",9,9."105")INTO评分(歌手号,分数,评委号)B)INSERTTO评分(歌手号,分数,评委号)VALUES("1001",9,9."105")C)INSERTINTO评分(歌手号,分数,评委号)VALUES("1001",9,9."105")D)INSERTVALUES("1001",9,9."105")TO评分(歌手号,分数,评委号)[2006年9月选择题27]假设每个歌手的“最后得分”的计算方法是:去掉一个最高分和一个最低分,取剩下分数的平均分。根据“评分”表求每个歌手的“最后得分”并存储于表TEMP中,表TEMP中有两个字段:“歌手号”和“最后得分”,并且按最后得分降序排列,生成表TEMP的SQL语句是:A)SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分;FROM评分INTODBFTEMPGROUPBY歌手号ORDERBY最后得分DESCB)SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分;FROM评分INTODBFTEMPGROUPBY评委号ORDERBY最后得分DESCC)SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得分;FROM评分INTODBFTEMPGROUPBY评委号ORDERBY最后得分DESCD)SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得分;FROM评分INTODBFTEMPGROUPBY歌手号ORDERBY最后得分DESC[2006年9月选择题28]与“SELECT*FROM歌手WHERENOT(最后得分>9.00)OR最后得分<8.00)”等价的语句是()A)SELECT*FROM歌手WHERE最后得分BETWEEN9.AND8.0000
    7
     B)SELECT*FROM歌手WHERE最后得分>=8.AND最后得分<=9.0000C)SELECT*FROM歌手WHERE最后得分>9.OR最后得分<8.0000D)SELECT*FROM歌手WHERE最后得分<=8.AND最后得分>=9.0000[2006年9月选择题29]为“评分”表的“分数”字段添加有效性规则:“分数必须大于等于0并且小于等于10”,正确的SQL语句是()A)CHANGETABLE评分ALTER分数SETCHECK分数>=0AND分数<=10B)ALTERTABLE评分ALTER分数SETCHECK分数>=0AND分数<=10C)ALTERTABLE评分ALTER分数CHECK分数>=0AND分数<=10D)CHANGETABLE评分ALTER分数SETCHECK分数>=0OR分数<=10[2006年9月选择题30]根据“歌手”表建立视图myview,视图中含有包括了“歌手号”左边第一位是“1”的所有记录,正确的SQL语句是()
    A)CREATEVIEWmyviewASSELECT*FROM歌手WHERELEFT(歌手号,1)="1"B)CREATEVIEWmyviewASSELECT*FROM歌手WHERELIKE("1",歌手号)C)CREATEVIEWmyviewSELECT*F
    ROM歌手WHERELEFT(歌手号,1)="1"D)CREATEVIEWmyviewSELECT*FROM歌手WHERELIKE("1",歌手号)[2006年9月选择题31]删除视图myview的命令是()A)DELETEmyviewVIEWC)DROPmyviewVIEWB)DELETEmyviewD)DROPVIEWmyview
    [2006年9月选择题32]假设temp.dbf数据表中有两个字段“歌手号”和“最后得分”。下面程序段的功能是:将temp.dbf中歌手的“最后得分”填入“歌手”表对应的“最后得分”字段中(假设已增加了该字段)。在下划线处应该填写的SQL语句是()A)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号TOARRAYaB)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号INTOARRAYaC)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号TOFILEaD)SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号INTOFILEa[2006年9月选择题33]与“SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=ALL(SELECT最后得分FROM歌手WHERESUBSTR(歌手号,1,1)="2")”等价的SQL语句是()A)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=;(SELECTMAX(最后得分)FROM歌手WHERESUBSTR(歌手号,1)="2")1,B)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=;(SELECTMIN(最后得分)FROM歌手WHERESUBSTR(歌手号,1)="2")1,C)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=ANY;(SELECT最后得分FROM歌手WHERESUBSTR(歌手号,1)="2")1,D)SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=SOME;(SELECT最后得分FROM歌手WHERESUBSTR(歌手号,1)="2")1,(15)在SQLSELECT语句中为了将查询结果存储到永久表应该使用短语[2006年9
    8
     月填空题9](16)在SQL语句中空值用表示。[2006年9月填空题10]
    (17)如下命令将"产品"表的"名称"字段名修改为"产品名称"[2006年9月填空题15]ALTERTABLE产品RENAME4.2007年笔试真题.3(1)以下不属于SQL数据操作命令的是[2007年4月选择题11]A)MODIFYB)INSERTC)UPDATED)DELETE名称TO产品名称
    (2)SQL的SELECT语句中,"HAVING<条件表达式>"用来筛选满足条件的[2007年4月选择题15]A)列B)行C)关系D)分组
    (3)设有关系SC(SNO,CNO,GRADE),其中SNO、CNO分别表示和课程号(两者均为字符型),GRADE表示成绩(数值型)。若要把为"S101"的同学,选修课程号为"C11",成绩为98分的记录插入到表SC中,正确的语句是[2007年4月选择题16]A)INSERTINTOSC(SNO,CNO,GRADE)VALUES('S101','C11','98')B)INSERTINTOSC(SNO,CNO,GRADE)VALUES(S101,C11,98)C)INSERT('S101','C11',)INTOSC'98'D)INSERTINTOSCVALUES('S101','C11',98)(4)以下有关SELECT短语的叙述中错误的是[2007年4月选择题17]A)SELECT短语中可以使用别名B)SELECT短语中只能包含表中的列及
    其构成的表达式C)SELECT短语规定了结果集中的列顺序D)如果FROM短语引用的两个表有同名的列,SELECT短语引用它们时必须使用表则名前缀加以限定(5)在SQL语句中,与表达式"年龄BETWEEN12AND46"功能相同的表达式是[2007年4月选择题18]A)年龄>=12OR<=46C)年龄>=12OR年龄<=46B)年龄>=12AND<=46D)年龄>=12AND年龄<=46
    (6)在SELECT语句中,以下有关HAVING短语的正确叙述是[2007年4月选择题19]A)HAVING短语必须与GROUPBY短语同时使用B)使用HAVING短语的同时不能使用WHERE短语C)HAVING短语可以在任意的一个位置出现D)HAVING短语与WHERE短语功能相同(7)在SQL的SELECT查询的结果中,消除重复记录的方法是[2007年4月选择题20]A)通过指定主索引实现C)使用DISTINCT短语实现B)通过指定惟一索引实现D)使用WHERE短语实现
    (8)在VisualFoxPro中,在数据库中创建表的CREATETABLE命令中定义主索引、实现实体完整性规则的短语是[2007年4月选择题25]A)FOREIGNKEYB)DEFAULTC)PRIMARYKEYD)CHECK
    9
     (9)在VisualFoxPro中,如果要将学生表S(,,性别,年龄)中"年龄"属性删除,正确的SQL命令是[2007年4月选择题28]A)ALTERTABLESDROPCOLUMN年龄B)DELETE年龄FROMSC)ALTERTABLESDELETECOLUMN年龄D)ALTERTABLESDELETE年龄(10)设有学生表S(,,性别,年龄),查询所有年龄小于等于18岁的女同学、并按年龄进行降序排序生成新的表WS,正确的SQL命令是[2007年4月选择题30]A)SELECT*FROMSWHERE性别='女'AND年龄<=18ORDERBY4DESCINTOTABLEWSB)SELECT*FROMSWHERE性别='女'AND年龄<=18ORDERBY年龄INTOTABLEWSC)SELECT*FROMSWHERE性别='女'AND年龄<=18ORDERBY'年龄'DESCINTOTABLEWSD)SELECT*FROMSWHERE性别='女'OR年龄<=18ORDERBY'年龄'ASCINTOTABLEWS(11)设有学生选课表SC(,课程号,成绩),SQL检索同时选修课程号为"C1"和"C5"的学用生的的正确命令是[2007年4月选择题31]A)SELECTFROMSCWHERE课程号='C1'AND课程号='C5'B)SELECTFROMSCWHERE课程号='C1'AND课程号=(SELECT课程号FROMSCWHERE课程号='C5')C)SELECTFROMSCWHERE课程号='C1'AND=(SELECTFROMSCWHERE课程号='C5')D)SELECTFROMSCWHERE课程号='C1'ANDIN(SELECTFROMSCWHERE课程号='C5')(12)设有学生表S(,性别,,年龄)、课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索、和学生所选课程的课程名和成绩,正确的SQL命令是[2007年4月选择题32]A)SELECT,,课程名,成绩FROMS,CWHERES.SC,学
    号=ANDSC.=C.B)SELECT,,课程名,成绩FROM(SJOINSCONS.=SC.号学JOINCONSC.课程号=C.课程号C)SELECTS.,,课程名,成绩FROMSJOINSCJOINCONS.学SC.ONSC.课程号=C.课程号D)SELECTS.,,课程名,成绩C.课程号ONS.=SC.(13)"歌手"表中有"歌手号"、""和"最后得分"三个字段,"最后得分"越高名次越靠前,查询前10名歌手的SQL语句是[2007年4月填空题11]FROMSJOINSCJOINCONSC.课程号=号=)SC.
    10
     SELECT*
    FROM歌手ORDERBY最后得分
    (14)已有"歌手"表,将该表中的"歌手号"字段定义为候选索引、索引名是temp,正确的SQL语句是12](15)在SQLSELECT语句中为了将查询结果存储到临时表应该使用短语()。[2007年9月选择题26]A)TOCURSORC)INTODBFB)INTOCURSORD)TODBFTABLE歌手ADDUNIQUE歌手号TAGtemp[2007年4月填空题
    (16)在SQL的ALTERTABLE语句中,为了增加一个新的字段应该使用短语()。[2007年9月选择题29]A)CREATE(17)使用如下数据表:学生.DBF:(C,(C,性别(C,出生日期(D)8),6),2),选课.DBF:(C,课程号(C,成绩(N,1)8),3),5,[2007年9月选择题30]查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是()A)SELECT*FROM学生WHERE出生日期>={^1982-03-20}AND性别="男"B)SELECT*FROM学生WHERE出生日期<={^1982-03-20}AND性别="男"C)SELECT*FROM学生WHERE出生日期>={^1982-03-20}OR性别="男"D)SELECT*FROM学生WHERE出生日期<={^1982-03-20}OR性别="男"[2007年9月选择题31]计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是()A)SELECTAVG(成绩)FROM选课WHERE="刘明"B)SELECTAVG(成绩)FROM学生,选课WHERE="刘明"C)SELECTAVG(成绩)FROM学生,选课WHERE学生.="刘明"D)SELECTAVG(成绩)FROM学生,选课WHERE学生.=选课.AND="刘明"[2007年9月选择题32]假定的第3、4位为专业代码。要计算各专业学生选修课程号为"101"课程的平均成绩,正确的SQL语句是()。A)SELECT专业ASSUBS(,2),3,平均分ASAVG(成绩)FROM选课WHERE课程号="101"GROUPBY专业B)SELECTSUBS(,2)AS专业,AVG(成绩)AS平均分FROM选课WHERE课3,程号="101"GROUPBY1C)SELECTSUBS(,2)AS专业,AVG(成绩)AS平均分FROM选课WHERE课3,程号="101"ORDERBY专业D)SELECT专业ASSUBS(,2),3,平均分ASAVG(成绩)FROM选课WHERE课程号="101"ORDERBY1[2007年9月选择题33]查询选修课程号为"101"课程得分最高的同
    学,正确的SQL语句是()B)APPENDC)COLUMND)ADD
    11
     A)SELECT学生.FROM学生,,选课WHERE学生.=选课.AND课程号="101"AND成绩>=ALL(SELECT成绩FROM选课)B)SELECT学生.,FROM学生,选课WHERE学生.=选课.AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")C)SELECT学生.,FROM学生,选课WHERE学生.=选课.AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号="101")D)SELECT学生.FROM学生,,选课WHERE学生.=选课.AND课程号="101"AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")[2007年9月选择题34]插入一条记录到"选课"表中,、课程号和成绩分别是"02080111"、"103"和80,正确的SQL语句是()A)INSERTINTO选课VALUES("02080111","103",80)B)INSERTVALUES("02080111","103",80)TO选课(,课程号,成绩)C)INSERTVALUES("02080111","103",80)INTO选课(,课程号,成绩)D)INSERTINTO选课(,课程号,成绩)FORMVALUES("02080111","103",80)[2007年9月选择题35]将为"02080110"、课程号为"102"的选课记录的成绩改为92,正确的SQL语句是()A)UPDATE选课SET成绩WITH92WHERE="02080110"AND课程号="102"B)UPDATE选课SET成绩=92WHERE="02080110AND课程号="102"C)UPDATEFROM选课SET成绩WITH92WHERE="02080110"AND课程号="102"D)UPDATEFROM选课SET成绩=92WHERE="02080110"AND课程号="102"(18)如下命令查询雇员表中"部门号"字段为空值的记录SELECT*FROM雇员WHERE部门号[2007年9月填空题6]
    (19)在SQL的SELECT查询中,HAVING字句不可以单独使用,总是跟在子句之后一起使用。[2007年9月填空题7](20)在SQL的SELECT查询时,使用年9月填空题8](21)在SQL中,插入、删除、更新命令依次是INSERT、DELETE和月填空题15]4.2008年笔试真题.4(1)SQL语句中删除视图的命令是:[2008年4月选择题19]A)DROPTABLEB)DROPVIEWC)ERASETABLED)ERASEVIEW。[2007年9子句实现消除查询结果中的重复记录。[2007
    (2)设有订单表order(其中包括字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是:[2008年4月选择题20]A)SELECT*FROMorderWHEREYEAR(签订日期)=2007ORDERBY金额DESCB)SELECT*FROMorderWHILEYEAR(签订日期)=2007ORDERBY金额ASCC)SELECT*FROMorderWHEREYEAR(签订日期)=2007ORDERBY金额ASCD)SELECT*FROMorderWHILEYEAR(签订日期)=2007ORDERBY金额DESC
    12
     (3)设有订单表order(其中包括字段:订单号,客户号,客户号,职员号,签订
    日期,金额),2002删除年1月1日以前签订的订单记录,正确的SQL命令是:[2008年4月选择题21]A)DELETETABLEorderWHERE签订日期<{^2002-1-1}B)DELETETABLEorderWHILE签订日期>{^2002-1-1}C)DELETEFROMorderWHERE签订日期<{^2002-1-1}D)DELETEFROMorderWHILE签订日期>{^2002-1-1}(4)下表是用list命令显示的"运动员"表的内容和结构,(33)-(35)题使用该表:记录号运动员号投中2分球投中3分球罚球12341234320541065307
    [2008年4月选择题33]为"运动员"表增加一个字段"得分"的SQL语句是:A)CHANGETABLE运动员ADD得分IB)ALTERDATA运动员ADD得分IC)ALTERTABLE运动员ADD得分ID)CHANGETABLE运动员INSERT得分I[2008年4月选择题34]计算每名运动员的"得分"(33题增加的字段)的正确SQL语句是:A)UPDATE运动员FIELD得分=2*投中2分球+3*投中3分球+罚球B)UPDATE运动员FIELD得分WITH2*投中2分球+3*投中3分球+罚球C)UPDATE运动员SET得分WITH2*投中2分球+3*投中3分球+罚球D)UPDATE运动员SET得分=2*投中2分球+3*投中3分球+罚球[2008年4月选择题35]检索"投中3分球"小于等于5个的运动员中"得分"最高的运动员的"得分",正确的SQL语句是:A)SELECTMAX(得分)得分FROM运动员WHERE投中3分球<=5B)SELECTMAX(得分)得分FROM运动员WHEN投中3分球<=5C)SELECT得分=MAX(得分)FROM运动员WHERE投中3分球<=5D)SELECT得分=MAX(得分)FROM运动员WHEN投中3分球<=5(5)SQL的SELECT语句中,使用填空题7](6)在SQL的WHERE子句的条件表达式中,字符串匹配(模糊查询)的运算符是[2008年4月填空题8](7)使用SQL的CREATETABLE语句定义表结构时,用引)。[2008年4月填空题10](8)在SQL语句中要查询表s在AGE字段上取空值的记录,正确的SQL语句为::SELECT*FROMsWHERE。[2008年4月填空题11]短语说明关键字(主索。子句可以消除结果中的重复记录。[2008年4月
    (9)在SQLSELECT查询中,为了使查询结果排序应该使用短语()[2008年9月选择题18]A)ASCB)DESCC)GROUPBYD)ORDERBY
    13
     (10)在SQLSELECT语句中与INTOTABLE等价的短语是()[2008年9月选择题21]A)INTODBFB)TOTABLEC)INTOFORMD)INTOFILE
    (11)假设有student表,可以正确添加字段"平均分数"的命令是()[2008年9月选择题25]A)ALTERTABLEstudentADD平均分数F(6,2)B)ALTERDBFstudentADD平均分数F6,2C)CHANGETABLEstudentADD平均分数F(6,2)D)CHANGETABLEstudentINSERT平均分数6,2(12)使用如下关系:客户(客户号,名称,联系人,邮政编码,电话号码)产品(产品号,名称,规格说明,单价)订购单(订单号,客户号,订购日期)订购
    单名细(订单号,序号,产品号,数量)[2008年9月选择题31]查询单价在600元以上的主机板和硬盘的正确命令是()A)SELECT*FROM产品盘')B)SELECT*FROM产品')C)SELECT*FROM产品D)SELECT*FROM产品FOR单价>600AND(名称='主机板'AND名称='硬盘')FOR单价>600AND(名称='主机板'OR名称='硬盘')WHERE单价>600AND(名称='主机板'OR名称='硬盘WHERE单价>600AND(名称='主机板'AND名称='硬
    [2008年9月选择题32]查询客户名称中有"网络"二字的客户信息的正确命令是()A)SELECT*FROM客户B)SELECT*FROM客户C)SELECT*FROM客户D)SELECT*FROM客户FOR名称LIKE"%网络%"FOR名称="%网络%"WHERE名称="%网络%"WHERE名称LIKE"%网络%"
    [2008年9月选择题33]查询尚未最后确定订购单的有关信息的正确命令是()。A)SELECT名称,联系人,电话号码,订单号FROM客户,订购单WHERE客户.客户号=订购单.客户号AND订购日期ISNULLB)SELECT名称,联系人,电话号码,订单号FROM客户,订购单WHERE客户.客户号=订购单.客户号AND订购日期=NULLC)SELECT名称,联系人,电话号码,订单号FROM客户,订购单FOR客户.客户号=订购单.客户号AND订购日期ISNULLD)SELECT名称,联系人,电话号码,订单号FROM客户,订购单FOR客户.客户号=订购单.客户号AND订购日期=NULL[2008年9月选择题34]查询订购单的数量和所有订购单平均金额的正确命令是()。A)SELECTCOUNT(DISTINCT订单号),AVG(数量*单价)FROM产品JOIN订购单名细ON产品.产品号=订购单名细.产品号B)SELECTCOUNT(订单号),AVG(数量*单价)FROM产品JOIN订购单名细ON产品.产品号=订购单名细.产品号
    14
     C)SELECTCOUNT(DISTINCT订单号),AVG(数量(单价)FROM产品,订购单名细ON产品.产品号=订购单名细.产品号D)SELECTCOUNT(订单号),AVG(数量*单价)FROM产品,订购单名细ON产品.产品号=订购单名细.产品号[2008年9月选择题35]假设客户表中有客户号(关键字)C1~C10共10条客户记录,订购单表有订单号(关键字)OR1-OR8共8条订购单记录,并且订购单表参照客户表。如下命令可以正确执行的是()。A)INSERTINTO订购单VALUES('OR5','C5',{^2008/10/10})B)INSERTINTO订购单VALUES('OR5','C11',{^2008/10/10})C)INSERTINTO订购单VALUES('OR9','C11',{^2008/10/10})D)INSERTINTO订购单VALUES('OR9','C5',{^2008/10/10})(13)SELECT*FROMstudent件中。[2008年9月填空题6](14)不带条件的SQLDELETE命令将删除指定表的记录。[2008年9月填空题8]短语。[2008FILEstudent命令将查询结果存储在student.文本文txt
    (15)在SQLSELECT语句中为了将查询结果存储到临
    时表中应该使用月填空题年9月填空题9]4.2009年笔试真题.5(1)SQL语言的查询语句是()[2009年3月选择题12]选择题A)INSERTB)UPDATEC)DELETED)SELECT
    (2)下列与修改表结构相关的命令是()[2009年3月选择题13]选择题A)INSERTB)ALTERC)UPDATED)CREATE
    (3)对表SC(C(8),课程号C(2),成绩N(3),备注C(20)),可以插入的记录是()[2009年3月选择题14]选择题A)('20080101','90','c1',NULL)C)('20080101','90','c1','成绩优秀')B)('20080101',90,'c1','成绩优秀')D)('20080101','79','c1','成绩优秀')
    (4)在VisualFoxPro中,下列关于SQL表定义语句(CREATETABLE)的说法中错误的是()[2009年3月选择题16]选择题A)可以定义一个新的基本表结构B)可以定义表中的主关键字C)可以定义表的域完整性、字段有效性规则等D)对自由表,同样可以实现其完整性、有效性规则等信息的设置(5)SQL的SELECT语句中,"HAVING<条件表达式>"用来筛选满足条件的()[2009年3月选择题选择题24]A)列B)行C)关系D)分组
    (6)在VisualFoxPro中,假设教师表T(教师号,,性别,职称,研究生导师)中,性别是C型字段,研究生导师是L型字段。若要查询"是研究生导师的女老师"信息,那么SQL语句"SELECT*FROMTWHERE<逻辑表达式>"中<逻辑表达式>应是()[2009年3月选择题26]
    15
     A)研究生导师AND性别="女"C)性别="女"AND研究生导师=.F.
    B)研究生导师OR性别="女"D)研究生导师=.OR性别=女T.
    (7)基于学生表S和学生选课SC两个数据库表,它们的结构如下:S(,,性别,年龄)其中、和性别为C型字段,年龄为N型字段。SC(,课程号,成绩),其中和课程号为C型字段,成绩为N型字段(初始为空值)。[2009年3月选择题31]查询学生选修课程成绩小于60分的,选择题正确的SQL语句是()。A)SELECTDISTINCTFROMSCWHERE"成绩"<60B)SELECTDISTINCTFROMSCWHERE成绩<"60"C)SELECTDISTINCTFROMSCWHERE成绩<60D)SELECTDISTINCT""FROMSCWHERE"成绩"<60[2009年3月选择题32]查询学生表S的全部记录并存储于临时表文件one中的SQL命选择题令是()。A)SELECT*FROM学生表INTOCURSORoneB)SELECT*FROM学生表TOCURSORoneC)SELECT*FROM学生表INTOCURSORDBFoneD)SELECT*FROM学生表TOCURSORDBFone[2009年3月选择题33]查询成绩在70分至85分之间学生的、课程号和成绩,选择题正确的SQL语句是()。A)SELECT,课程号,成绩FROMSCWHERE成绩BETWEEN70AND85B)SELECT,课程号,成绩FROMSCWHERE成绩>=70OR成绩<=85C)SELECT,
    课程号,成绩FROMSCWHERE成绩>=70OR<=85D)SELECT,课程号,成绩FROMSCWHERE成绩>=70AND<=85[2009年3月选择题34]查询有选修记录,选择题但没有考试成绩的学生的和课程号,正确的SQL语句是()。A)SELECT,课程号FROMSCWHERE成绩=""B)SELECT,课程号FROMSCWHERE成绩=NULLC)SELECT,课程号FROMSCWHERE成绩ISNULLD)SELECT,课程号FROMSCWHERE成绩[2009年3月选择题35]查询选修C2课程号的学生,选择题下列SQL语句错误是()。A)SELECTFROMSWHEREEXISTS(SELECT*FROMSCWHERE=S.学号AND课程号='C2')B)SELECTFROMSWHEREIN(SELECTFROMSCWHERE课程号='C2')C)SELECTFROMSJOINSCONS.=SC.WHERE课程号='C2'D)SELECTFROMSWHERE=(SELECTFROMSCWHERE课程号='C2')(8)利用SQL语句的定义功能建立一个课程表,并且为课程号建立主索引,语句格式为:[2009填空题年3月填空题8]
    16
     CREATETABLE课程表(课程号C(5)
    ,课程名C(30))三种专门的关系运算。
    (9)在VisualFoxPro中,SELECT语句能够实现投影、选择和[2009年3月填空题10]填空题
    (10)使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应当在GROUPBY中使用子句。[2009年3月填空题14]填空题
    (11)设有SC(,课程号,成绩)表,下面SQL的SELECT语句检索成绩高于或等于平均成绩的学生的。[2009年3月填空题15]填空题SELECTFROMsc;WHERE成绩>=(SELECTFROMsc)
    (12)学生表中有,,和年龄三个字段,SQL语句"SELECTFROM学生"完成的操作称为(A)选择)[2009年9月选择题14]选择题B)投影C)连接D)并
    (13)27.SQL语句中的ORDERBY短语指定了多个字段,若则()[2009年9月选择题27]选择题A)依次按自右至左的字段顺序排序B)只按第一个字段排序C)依次按自左至右的字段顺序排序D)无法排序(14)与"SELECT*FROM教师表INTODBFA"等价的语句是()[2009年9月选择题30]选择题A)SELECT*FROM教师表TODBFAB)SELECT*FROM教师表TOTABLEAC)SELECT*FROM教师表INTOTABLEAD)SELECT*FROM教师表INTOA(15)查询"教师表"的全部记录并存储于临时文件one.()[2009年9月选择题31]dbf选择题A)SELECT*FROM教师表INTOCURSORoneB)SELECT*FROM教师表TOCURSORoneC)SELECT*FROM教师表INTOCURSORDBFoneD)SELECT*FROM教师表TOCURSORDBFone(16)"教师表"中有"职工号",""和"工龄"字段,其中"职工号"为主关键字,建立"教师表"的SQL命令是()[2009年9月选择题32]选择题A)CREATETABLE教师表(职工号C(10)PRIMARY,C(20)
    ,工龄I)B)CREATETABLE教师表(职工号C(10)FOREIGN,C(20),工龄I)C)CREATETABLE教师表(职工号C(10)FOREIGNKEY,C(20),工龄I)D)CREATETABLE教师表(职工号C(10)PRIMARYKEY,C(20),工龄I)(17)"教师表"中有"职工号"、""、"工龄"和"系号"等字段,"表"中有"系名"和"系号"等字段。计算"计算机"系老师总数的命令是()[2009年9月选择题34]选择题A)SELECTCOUNT(*)FROM教师表INNERJOIN表;ON教师表.系号=表.系号WHERE系名="计算机"B)SELECTCOUNT(*)FROM教师表INNERJOIN表;
    17
     ON教师表.系号=表.系号ORDERBY教师表.系号;HAVING表.系名="计算机"C)SELECTCOUNT(*)FROM教师表INNERJOIN表;ON教师表.系号=表.系号GROUPBY教师表.系号;HAVING表.系名="计算机"D)SELECTSUM(*)FROM教师表INNERJOIN表;ON教师表.系号=表.系号ORDERBY教师表.系号;HAVING表.系名="计算机"(18)"教师表"中有"职工号"、""、"工龄"和"系号"等字段,"表"中有"系名"和"系号"等字段。求教师总数最多的系的教师人数,正确的命令是()[2009年9月选择题35]选择题A)SELECT教师表.系号,COUNT(*)AS人数FROM教师表,表;GROUPBY教师表.系号INTODBFTEMPSELECTMAX(人数)FROMTEMPB)SELECT教师表.系号,COUNT(*)FROM教师表,表;WHERE教师表.系号=表.系号GROUPBY教师表.系号INTODBFTEMPSELECTMAX(人数)FROMTEMPC)SELECT教师表.系号,COUNT(*)AS人数FROM教师表,表;WHERE教师表.系号=表.系号GROUPBY教师表.系号TOFILETEMPSELECTMAX(人数)FROMTEMPD)SELECT教师表.系号,COUNT(*)AS人数FROM教师表,表;WHERE教师表.系号=表.系号GROUPBY教师表.系号INTODBFTEMPSELECTMAX(人数)FROMTEMP(19)为"成绩"表中"总分"字段增加有效性规则:"总分必须大于等于0并且小于等于750",正确的SQL语句是:[2009年9月填空题14]填空题TABLE成绩ALTER总分4.2010年笔试真题.6(1)SQL语言的更新命令的关键词是()[2010年3月选择题25]选择题A)INSERTB)UPDATEC)CREATED)SELECT总分>=0AND总分<=750
    (2)假设"图书"表中有C型字段"图书编号",要求将图书编号以字母A开头的图书记录全部打上删除标记,可以使用SQL命令()[2010年3月选择题28]选择题A)DELETEFROM图书FOR图书编号=''A"B)DELETEFROM图书WHERE图书编号="A%"C)DELETEFROM图书FOR图书编号="A*"D)DELETEFROM图书WHERE图书编号LIKE"A%"(3)基于图书表、读者表和借阅表三个数据库表,它们的结构如下:图书(图书编号,书名,第
    一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字;读者(借书证号,单位,,职称):借书证号、单位、、职称为C型字段,借书证号为
    18
     主关键字;借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。[2010年3月选择题30]查询第一作者为"张三"的所有书名及出版社,选择题正确的SQL语句是()。A)SELECT书名,出版社FROM图书WHERE第一作者=张三B)SELECT书名,出版社FROM图书WHERE第一作者="张三"C)SELECT书名,出版社FROM图书WHERE"第一作者"=张三D)SELECT书名,出版社FROM图书WHERE"第一作者"="张三"[2010年3月选择题31]查询尚未归还书的图书编号和借书日期,选择题正确的SQL语句是()。A)SELECT图书编号,借书日期FROM借阅WHERE还书日期=""B)SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULLC)SELECT图书编号,借书日期FROM借阅WHERE还书日期ISNULLD)SELECT图书编号,借书日期FROM借阅WHERE还书日期[2010年3月选择题32]查询"读者"表的所有记录并存储于临时表文件one中的SQL语选择题句是()。A)SELECT*FROM读者INTOCURSORoneB)SELECT*FROM读者TOCURSORoneC)SELECT*FROM读者INTOCURSORDBFoneD)SELECT*FROM读者TOCURSORDBFone[2010年3月选择题33]查询单位名称中含"北京"字样的所有读者的借书证号和,选择题正确的SQL语句是()。A)SELECT借书证号,FROM读者WHERE单位="北京%"B)SELECT借书证号,FROM读者WHERE单位="北京*"C)SELECT借书证号,FROM读者WHERE单位LIKE"北京*"D)SELECT借书证号,FROM读者WHERE单位LIKE"%北京%"[2010年3月选择题34]查询2009年被借过书的图书编号和借书日期,选择题正确的SQL语句是()。A)SELECT图书编号,借书日期FROM借阅WHERE借书日期=2009B)SELECT图书编号,借书日期FROM借阅WHEREyear(借书日期)=2009C)SELECT图书编号,借书日期FROM借阅WHERE借书日期=year(2009)D)SELECT图书编号,借书日期FROM借阅WHEREyear(借书日期)=year(2009)[2010年3月选择题35]查询所有"工程师"读者借阅过的图书编号,选择题正确的SQL语句是()。A)SELECT图书编号FROM读者,借阅WHERE职称="工程师"B)SELECT图书编号FROM读者,图书WHERE职称="工程师"C)SELECT图书编号FROM借阅WHERE图书编号=
    19
     (SELECT图书编号FROM借阅WHERE职称="工程师")D)SELECT图书编号FROM借阅WHERE借书证号IN(SELECT借书证号FROM读者WH
    ERE职称="工程师")(4)在SQL语言中,用于对查询结果计数的函数是(5)在SQL的SELECT查询中,使用月填空题13](6)为"学生"表的"年龄"字段增加有效性规则"年龄必须在18~45岁之间"的SQL语句是[2010年3月填空题14]ALTERTABLE学生ALTER年龄年龄<=45AND年龄>=18。[2010年3月填空题12]
    关键词消除查询结果中的重复记录。[2010年3
    (7)使用SQLSelect语句进行分组查询时,有时要求分组满足某个条件时才查询,这时可以用子句来限定分组。[2010年3月填空题15](8)(31)~(35)题使用如下数据表:学生.DBF:(C,8),(C,6),性别(C,2)选课.DBF:(C,8),课程号(C,3),成绩(N,3)[2010年9月选择题31]从"选课"表中检索成绩大于等于60并且小于90的记录信息,年月选择题正确的SQL命令是()。A)SELECT*FROM选课WHERE成绩BETWEEN60AND89B)SELECT*FROM选课WHERE成绩BETWEEN60TO89C)SELECT*FROM选课WHERE成绩BETWEEN60AND90D)SELECT*FROM选课WHERE成绩BETWEEN60TO90[2010年9月选择题32]检索还未确定成绩的学生选课信息,正确的SQL命令是()。年月选择题A)SELECT学生.,,选课.课程号FROM学生JOIN选课WHERE学生.=选课.AND选课成绩ISNULLB)SELECT学生.,,选课.课程号FROM学生JOIN选课WHERE学生.=选课.AND选课.成绩=NULLC)SELECT学生.,,选课.课程号FROM学生JOIN选课ON学生.=选课.WHERE选课.成绩ISNULLD)SELECT学生.,,选课.课程号FROM学生JOIN选课ON学生.=选课.WHERE选课.成绩=NULL[2010年9月选择题33]假设所有的选课成绩都已确定。显示"101"号课程成绩中最高的10%记年月选择题录信息,正确的SQL命令是()。A)SELECT*TOP10FROM选课ORDERBY成绩WHERE课程号="101"B)SELECT*PERCENT10FROM选课ORDERBY成绩DESCWHERE课程号="101"C)SELECT*TOP10PERCENTFROM选课ORDERBY成绩WHERE课程号="101"D)SELECT*TOP10PERCENTFROM选课ORDERBY成绩DESCWHERE课程号="101"
    20
     [2010年9月选择题34]假设所有学生都已选课,所有的选课成绩都已确定。检索所有选课成年月选择题绩都在90分以上(含)的学生信息,正确的SQL命令是()。A)SELECT*FROM学生WHEREIN(SELECTFROM选课WHERE成绩>=90)B)SELECT*FROM学生WHERENOTIN(SELECTFROM选课WHERE成绩<90)C)SELECT*FROM学生WHERE!=ANY(SELECTFROM选课WHERE成绩<90)D)SELECT*FROM学生WHERE=ANY(SELECTFROM选课WHERE成绩>=90)[2010年9月选择题35]为"选课"表增加一个"等级"字段,其类型为C、宽度为2,正确的SQL年月选择题命令是()。A)ALTERTABLE选课ADDFIELD等级C(2)B)ALTERTABLE选课ALTERFIELD
    等级C(2)C)ALTERTABLE选课ADD等级C(2)D)ALTERTABLE选课ALTER等级C(2)(9)在SQLSelect语句中使用GroupBy进行分组查询时,如果要求分组满足指定条件,则需要使用子句来限定分组。[2010年9月填空题年月填空题月填空题11]
    (10)将"学生"表中左4位为"2010"的记录存储到新表new中的命令是:SELECT*FROM学生WHERE="2010"DBFnew[2010年9月填空题月填空题13]年月填空题
    (11)将"学生"表中的字段的宽度由原来的10改为12(字符型),应使用的命令是:ALTERTABLE学生4.2011年笔试真题.7(1)给student表增加一个“平均戍绩”字段(数值型,总宽度6}2位小数)的SQL命令是()[2011年3月选择题14]选择题A)ALTERTABLEstudeniADD平均成绩N(b,2)B)ALTERTABLEstudentADD平均成绩D(6,2)C)ALTERTABLEstudentADD平均成绩E(6,2)D)ALTERTABLEstudentADD平均成绩Y(6,2)(2)在VisualFoxPro中,执行SQL的DELETE命令和传统的FoxProDELETE命令都可以删除数据库表中的记录,下面正确的描述是()[2011年3月选择题15]年月选择题A)SQL的DELETE命令删除数据库表中的记录之前,不需要先用USE命令打开表B)SQL的DELETE命令和传统的FoxProDELETE命令删除数据库表中的记录之前,都需要先用命令USE打开表C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统的FoxProDELETE命令只能逻辑删除数据库表中的记录D)传统的FoxProDELETE命令还可以删除其它工作区中打开的数据库表中的记录(3)删除student表的“平均成绩”字段的正确SQL命令是()[2011年3月选择题18]年月选择题
    21
    [2010年9月填空题年月填空题月填空题14]
     A)DELETETABLEstudentDELETECOLUMN平均成绩B)ALTERTABLEstudentDELETECOLUMN平均成绩C)ALTERTABLEstudentDROPCOLUMN平均成绩D)DELETETABLEstudentDROPCOLUMN平均成绩(4)从student表删除年龄大于30的记录的正确SQL命令是()[2011年3月选择题20]年月选择题A)DELETEFOR年龄>30C)DELETEstudentFOP年龄>30B)DELETEFROMstudentWHERE年龄>30D)DELETEstudentWFIERE年龄>30
    (5)向student表插入一条新记录的正确SQL语句是()[2011年3月选择题24]年月选择题A)APPENDINTOstudentVALUES(’0401’,’王芳’,’女’,18)B)APPENDstudentVALUES(’0401’,’王芳’,’女’,18):C)INSERTINTOstudentVALUES(’0401’,’王芳’,’女’,18)D)INSERTstudentVALUES(’0401’,’王芳’,’女’,18)(6)消除SQLSELECT查询结果中的重复记录,可采取的方法是()[2011年3月选择题28]年月选择题A)通过指定主关键字C)使用DISTINCT短语B)通过指定惟一索引D)使用UNIQUE短语
    (7)第(31)-(35)题使用如下三个数据库表:学生表:student(,,性别,出生日期,院
    系)课程表:course(课程号,课程名,学时)选课成绩表:score(,课程号,成绩)其中出生日期的数据类型为日期型,学时和成绩为数值型,其它均为字符型。[2011年3月选择题31]查询“计算机系”学生的、、学生所选课程的课程名和成绩,年月选择题正确的命令是()A)SELECTs.,,课程名,成绩FROMstudents,scoresc,coursecWHEREs.=sc.,sc.课程号=c.课程号,院系=’计算机系’B)SELECT,,课程名,成绩FROMstudents,scoresc,coursecWHEREs.=sc.ANDsc.课程号=c.课程号AND院系=’计算机系’C)SELECTs.,,课程名,成绩FROM(studentsJOINscorescONs.=sc.).JOINcoursecONsc.课程号=c.课程号WHERE院系=’计算机系’D)SELECT,,课程名,成绩FROM(studentsJOINscorescONs.=sc.)JOINcoursecONsc.课程号=c.课程号WHERE院系=’计算机系’[2011年3月选择题32]查询所修课程成绩都大于等于85分的学生的和,年月选择题正确的命令
    22
     是()A)SELECT,FROMstudentsWHERENOTEXISTS(SELECT*FROMscorescWHEREsc.=s.AND成绩<85)B)SELECT,FROMstudentsWHERENOTEXISTS(SELECT*FROMscorescWHEREsc.=s.AND成绩>=85)C)SELECT,FROMstudents,scorescWHEREs.=sc.AND成绩>=85D)SELECT,FROMstudents,scorescWHEkEs.=sc.ANDALL成绩>=85[2011年3月选择题33]查询选修课程在5门以上(含5门)的学生的、和平均成绩,年月选择题并按平均成绩降序排序,正确的命令是()A)SELECTs.,,平均成绩FROMstudents,scorescWHEREs.=sc.GROUPBYs.HAVINGCOUNT(*)>=5ORDERBY平均成绩DESCB)SELECT,,AVG(成绩)FROMstudents,scorescWHEREs.=sc.ANDCOUNT(*)>=5GROUPBYORDERBY3DESCC)SELECTs.,,AVG(成绩)平均成绩FROMstudents,scorescWHEREs.=sc.ANDCOUNT(*)>=5GROUPBYs.ORDERBY平均成绩DESCD)SELECTs.,,AVG(成绩)平均成绩FROMstudents,scorescWHEREs.=sc.GROUPBYs.HAVINGCOUNT(*)>=5ORDERBY3DESC[2011年3月选择题34]查询同时选修课程号为C1和C5课程的学生的,正确的命令是()年月选择题A)SELECTFROMscorescWHERE课程号=’C1’ANDIN(SELECTFROMscorescWHERE课程号=’C5’)B)SELECTFROMscorescWHERE课程号=’C1’AND=(SELECTFROMscorescWHERE课程号=’C5’}C)SELECTFROMscorescWHERE课程号=’C1’AND课程号=’C5’D)SELECTFROMscorescWHERE课程号=’C1’OR’C5
    ’[2011年3月选择题35]删除为“20091001”且课程号为“C1”的选课记录,正确命令是()年月选择题A)DELETEFROMscoreWHERE课程号=’C1’AND=’20091001’B)DELETEFROMscoreWHERE课程号=’C1’OR=’20091001’C)DELETEFORMscoreWHERE课程号=’C1’AND=’20091001’D)DELETEscoreWHERE课程号=’C1’AND=’20091001’(8)SQL语句“SELECTTOP10PERCENT*FROM订单ORDERBY金额DESC”的查询结果是订单中金额的10%的订单信息。[2011年3月填空题]年月填空题9
    (9)使用SQL的CREATETABLE语句建立数据库表时,为了说明主关键字应该使用关键词
    23
     KEY。[2011年3月填空题11](10)SQL查询命令的结构是SELECT…FROM…WHERE…GROUPBY…HAVING…ORDERBY…,其中指定查询条件的短语是()[2011年9月选择题15]选择题A)SELECTB)FROMC)WHERED)ORDERBY短语
    (11)SQL查询命令的结构是SELECT…FROM…WHERE…GROUPBY…HAVING…ORDERBY…,其中HAVING必须配合使用的短语是()[2011年9月选择题16]选择题A)FROMB)GROUPBYC)WHERED)ORDERBY
    (12))如果SQL查询的SELECT短语中使用TOP,则必须配合()[2011年9月选择题17]选择题A)HAVING短语B)GROUPBY短语C)WHERE短语D)ORDERBY
    (13)删除表s中字段c的SQL命令是()[2011年9月选择题18]选择题A)ALTERTABLEsDELETEcC)DELETETABLEsDELETEcB)ALTERTABLEsDROPcD)DELETETABLEsDROPc
    (14)在VisualFoxPro中,如下描述正确的是()[2011年9月选择题19]选择题A)对表的所有操作,都不需要使用USE命令先打开表B)所有SQL命令对表的所有操作都不需要使用USE命令先打开表C)部分SQL命令对表的所有操作都不需要使用USE命令先打开表D)传统的FoxPro命令对表的所有操作都不需要使用USE命令先打开表(15)使用SQL语句将表s中字段price的值大于30的记录删除,正确的命令是()[2011年9月选择题23]选择题A)DELETEFROMsFORprice>30B)DELETEFORprice>30B)DELETEFROMsWHEREprice>30D)DELETEsWHEREprice>30
    (16)正确的SQL插入命令的语法格式是()[2011年9月选择题26]选择题A)INSERTIN…VALUES…C)INSERTINTO…VALUES…B)INSERTTO…VALUES…D)INSERT…VALUES…
    (17)SQL语句中,能够判断“订购日期”字段是否为空值的表达式是()[2011年9月选择题31]A)订购日期=NULLB)订购日期=EMPTY
    C)订购日期ISNULLD)订购日期ISEMPTY(18)第(32)-(35)题使用如下3个表:商店(商店号,商店名,区域名,经理)商品(商品号,商品名,单价)销售(商店号,商品号,销售日期,销售数量)[2011年9月选择题32]查询在“北京”和“上海”区域的商店信息的正确命令是()选择题A)SELECT*FROM商店WHERE区域名='北京'AND域名
    名='上海'B)SELECT*FROM商店WHERE区域名='北京'OR域名名='上海'C)SELECT*FROM商店WHERE区域名='北京'AND'上海'D)SELECT*FROM商店WHERE区域名='北京'OR'上海'
    24
     [2011年9月选择题33]查询单价最高的商品销售情况,查询结果包括商品号、商品名、销选择题售日期、销售数量和销售金额。正确命令是()A)SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额FROM商品JOIN销售ON商品.商品号=销售.商品号WHERE单价=(SELECTMAX(单价)FROM商品)B)SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额FROM商品JOIN销售ON商品.商品号=销售.商品号WHERE单价=MAX(单价)C)SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额FROM商品JOIN销售WHERE单价=(SELECTMAX(单价)FROM商品)D)SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额FROM商品JOIN销售WHERE单价=MAX(单价)[2011年9月选择题34]查询商品单价在10到50之间、并且日销售数量高于20的商品名、选择题单价、销售日期和销售数量,查询结果按单价降序。正确命令是()A)SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售WHERE(单价BETWEEN10AND50)AND销售数量>20ORDERBY单价DESCB)SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售WHERE(单价BETWEEN10AND50)AND销售数量>20ORDERBY单价C)SELECT商品名,单价,销售日期,销售数量FROM商品,销售WHERE(单价BETWEEN10AND50)AND销售数量>20ON商品.商品号=销售.商品号ORDERBY单价D)SELECT商品名,单价,销售日期,销售数量FROM商品,销售WHERE(单价BETWEEN10AND50)AND销售数量>20AND商品.商品号=销售.商品号ORDERBY单价DESC[2011年9月选择题35]查询销售金额合计超过20000的商店,查询结果包括商店名和销售选择题金额合计。正确命令是()A)SELECT商店名,SUM(销售数量*单价)AS销售金额合计FROM商店,商品,销售WHERE销售金额合计20000B)SELECT商店名,SUM(销售数量*单价)AS销售金额合计>20000FROM商店,商品,销售WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号C)SELECT商店名,SUM(销售数量*单价)AS销售金额合计FROM商店,商品,销售WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号ANDSUM(销售数量*单价)>20000GROUPBY商店名D)SELECT商店名,SUM(销售数量*单价)AS销售金额合计FROM商店,商品,销售WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号GROUPBY商店名HAVINGSUM(销售数量*单价)>20000
    25
     第四章关系数据库标准语言SQL4.2005年笔试真题解析
    .1(1)[2005年4月选择题17]【答案】A【解析】本题是对传统的VisualFoxPor的DELETE答案】【解析】命令和SQL的DELETE命令的比较。执行传统的VisualFoxPor命令时必须打开所要操作的表,SQL操作时不需要打开表;而传统的VisualFoxPor的DELETE命令和SQL的DELETE命令都是为了指定的数据表中的记录添加删除标记。因此正确答案为选项A。(2)[2005年4月选择题24]【答案】B【解析】本题考查的SQL的DELETE命令,语法格答案】【解析】式为:DELETEFROM表名[WHERE条件表达式]故选项B为正确答案。(3)[2005年4月选择题26]【答案】A【解析】本题考查的SQL的删除表的命令,语法格答案】【解析】式为:DROPTABLE表名
    故选项A为正确答案。(4)[2005年4月选择题28]【答案】C【解析】本题考查对SQL语句插入记录命令的掌握。答案】【解析】APPEND为传统的FoxPor的添加记录的哪里,所以首先排除选项A和B;插入记录命令的语法格式为:INSERTINTO表名(字段名1,[字段名2,…])VALUES(表达式1,[表达式2,…])选项D没有没有INTO和字段名,选项C为正确答案。(5)[2005年4月选择题30]【答案】C【解析】本题考查的是对SQL的SELECT语句的掌答案】【解析】握,属于常考的知识点。SQL的数据查询语句格式:SELECT[ALL|DISTNCT][表别名]FROM[数据名]WHERE条件GROUPBY列名HAVING条件表达式
    DISTNCT的作用是去掉查询结果中的重复值。故选项C为正确答案。(6)[2005年4月选择题31]【答案】D【解析】本题考查的是对SQL的SELECT语句的掌答案】【解析】握,属于常考的知识点。SELECT子句的列顺序结果和书写SELECT子句的字段顺序一致,和表中字段顺序没有关系。故选项D为正确答案。(7)[2005年4月选择题32]【答案】B【解析】本题考查的是对SQL的HAVING子句的掌答案】【解析】握,属于常考知识点。HAVING子句总是跟在GROUPBY子句之后,不可以单独使用,利用HAVING子句设置当分组满足某个条件时才检索,在查询中,首先利用WHERE子句限定元组,然后再进行分组,最后再利用HAVING子句限定分组。因此正确答案为选项B。(8)[2005年4月选择题34]【答案】A【解析】本题考查的是对SQL的查询语句条件书写答案】【解析】格式的掌握,属于常考知识点。本题属于多表查询,使用联接查询和嵌套查询,选项C、D使用联接查询,使用时每个字段前要声明所属的表,C、D写法都不完整;选项A、B使用嵌套查询,NOTEXISTS表示将括号内SELECT查询软件取反,故选项A为正确答案。
    26
     (9)[2005年4月填空题11]【答案】ADD(或ADDCOL
    UMN)答案】[2005年4月选择题12]【答案】ON【解析】本题考查SQL实现连接操作的命令。SQL答案】【解析】中实现连接的命令格式为:SELECT…FROM<表名>INNERJOIN<表名>ON<连接表达式>WHERE…国家.国家代码=获奖牌情况.国家代码是连接你的手,所以前面应写ON。[2005年4月选择题13]【答案】UPDATE。答案】。SET【解析】本题考查VisualFoxPor中【解析】
    如何使用SQL语句对数据表的字段进行更新。SQL中的UPDATE命令可以实现对数据表的字段的更新操作。语句中的SET子句后面的表达式指明具体的修改方法。(10)[2005年9月选择题29]【答案】D【解析】本题考查SQL语句的使用。查询金额最大答案】【解析】的10%的订单,应该是按金额从高向低降顺序排列,显示前面10%,只有选项D的描述是完整的。[2005年9月选择题30]【答案】B【解析】本题考查SQL语句的使用。查询订单的平均金答案】【解析】额200元以上,用平均函数表示为AVG(金额)>200,故可排除选项A、D;订单数在三个以上和订单的平均金额200元以上两个条件要同时满足是逻辑“与”关系,故选项B正确。[2005年9月选择题31]【答案】A【解析】本题考查的是对SQL语句书写格式的掌握。显答案】【解析】示2005年1月1日后签定订单,表示方法为:签定日期>{^2005-1-1},故排除选项C、D。两个使用JOIN连接,连接条件使用ON,故所以选项A为正确答案。[2005年9月选择题32]【答案】C【解析】本题考查的是对SQL语句的书写格式的掌握。答案】【解析】显示没有签订任何订单的职员信息等价于显示订单表中不存在的职员信息。四个选项中只有选项C符合查询条件。[2005年9月选择题33]【答案】B【解析】题干中的SQL语句的功能是:查询那些为答案】【解析】“李二”的职员的订单号,签订日期和金额的信息;四个选项中只有选项B中的查询条件与此等价。WHERE体后跟EXISTS不是IN,选项C、D可排除,用(SELECTFROM…WHERE…)实现选择出“李二”的职员,选项A缺少“订单.职员号=职员.职员号”条件表示。[2005年9月选择题34]【答案】C【解析】本题考查的是对SQL语句的删除表书写格答案】【解析】式的掌握。SQL语句的删除表书写格式为:DELETEFROM<表名>[WHERE条件表达式]
    故选项C为正确答案。[2005年9月选择题35]【答案】A【解析】本题考查的是对SQL答案】【解析】语句的更新表书写格式的掌握。SQL语句的更新表书写格式为:UPDATE<表名>SET<列名1>=<表达式1>[<列名2>=<表达式2>…][WHERE条件表达式]只有选项A符合语法格式。(11)[200
    5年9月填空题9]【答案】DISTINCT【解析】本题考查SQL的查询命令的书写方答案】【解析】法。SQL的数据查询语句形式:SELECT[ALL|DISTINCT][表别名]FROM[数据库名]WHERE条件GROUPBY列名HAVING条件表达式DISTINCT的作用是去掉查询结果中的重复值。(12)[2005年9月填空题11]【答案】INTOCURSOR【解析】本题考查SQL的存放查询结答案】【解析】
    27
     果命令的使用。在SQL中,使用INTOCURSORCurrorName把查询结果存放到临时的数据库文件当中。CurrorName是临时的文件名。(13)[2005年9月填空题12]【答案】PRIMARYKEY【解析】本题考查SQL中建立数据表答案】【解析】命令的使用。在SQL中,使用短语PRIMARYKEY将字段规定为主索引字段,同时实体短语NOTNULL规定在该字段中不允许出现空值。(14)[2005年9月填空题13]【答案】】CHECK【解析】本题是对SQL建立数据库命令【13】答案】【【解析】的考查。命令中定义域完整性的约束规则是CHECK短语,后面跟逻辑表达式表示约束条件。(15)[2005年9月填空题14]【答案】HAVING【解析】本题考查SQL查询语句的使用。在答案】【解析】SQL中,使用GROUPBY分组,HAVING子句必须与GROUPBY子句同时使用。使用HAVING子句的作用是限定分组的条件。(16)[2005年9月填空题15]【答案】答案】NOTEXISTS解析】本题考查SQL查询语句的使用。【解析】在SQL中,括号内SELECT*FROMscWHEREsc.=s.AND成绩<85表示是每门课成绩都小于85分的学生,要检索袭击高于或等于85分,NOTEXISTS取反。4.2006年笔试真题解析.2(1)[2006年4月选择题22]【答案】D【解析】本题考查考生对SQL语句操作知识。SQL答案】【解析】的操作功能是指对数据库中数据的操作功能,主要包括数据的插入。更新和删除三个方面的内容。其中,包括如下三种语句:INSERT插入数据;UPDATE数据更新;DELETE删除数据。所以选项D符合题意。(2)[2006年4月选择题25]【答案】D【解析】本题考查考生对SQL语句及通配符的理解。答案】【解析】选项A为错误答案,在SQL语句中不能使用FOR子句;选项B为错误答案,在SQL语句中不能使用WHILE子句;选项C为错误答案,条件语句中“图书号="A*"”表示选择所有图书号以“A*”开头的记录;选项D为正确答案。(3)[2006年4月选择题29]【答案】A【解析】本题考查考生对SQL语句中修改表结构命答案】【解析】令的掌握。修改表结构的命令是ALTERTABLE,该命令有三种格式。格式1:ALTERTABLETableNamelADD|ALTER[COLUMN]FieldName1FieldType[(nFieldWidth[,nPrecision])][NULL|NOTNULL][CHECKIExpression
    1[ERRORcMessageText1]][DEFAULTeExpression][PRIMARYKEYJUNIQUE][REFERENCESTableName2[TAGTagName1]]该格式可以添加(ADD)新的字段或修改(ALTER)已有的字段,它的句法基本可以与CREATETABLE的句法相对应。从命令跟我说可以看出,该格式可以修改字段的类型、宽度、有效性规则、错误信息、默认值,定义主关键字和联系等;但是不能修改字段名,不能删除字段,也不能删除已经定义的规则等。格式2:ALTERTABLETableNamelALTER[COLUMN]FieldName2[NULL|NOTNULL][SETDEFAULTeExpression2][SETCHECK1Expression2[ERRORcMessageText2]][DROPDEFAULT][DROPCHECK]
    28
     从命令格式可以看出,该格式主要用于定义、修改和删除有效性规则和默认值定义。以上两种格式都不能删除字段,也不能更改字段名,所有修改是在字段一级。第三种格式正是在这些方面都前两种格式的补充。格式3:ALTERTABLETableNamel[DROP[COLUMN]FieldName3][SETCHECK1Expression3[ERRORcMessageText3]][DROPCHECK][ADDPRIMARYKEYeExpression3TAGTagName2[FOR1Expression4]]][DROPPRIMARYKEY][ADDUNIQUEeExpression4[TAGTagName3[FOR1Expression5]]][DROPUNIQUETAGTagName4][ADDFOREIGNKEY[eExpression5]TAGTagName4[FOR1Expression6][REFERECESTableName2[TAGTagName5]][DROPFOREIGNKEYTAGTagName6[SAVE]][RENAMECOLUMNFieldName4TOFieldName5]该格式可以删除字段(DROP[COLUMN])、可以修改字段名(RENAMECOLUMN)、可以定义、修改和删除表一级的有效性规则等。所以,选项A正确。(4)[2006年4月选择题30]【答案】A【解析】本题考查考生对SQL语句中,HAVING子答案】【解析】句的掌握。在SQL语句中,HAVING短语必须跟随GROUPBY使用,它用来限定分组必须满足的条件。根据题意及所列出的答案能够看出,此题愿意为在“订单”表中查询出所有有三笔订单以上(职员号出现三次,COUNT(*)>3),并且订单的平均金额在200元以上(AVG(金额)>200)的所有职员号。根据此要求,我们来分析题目所给出的选项。选项A:在HAVING子句后面,有一个“AVG_金额>200”的筛选条件,但“订单”表中并无此字段,所以此选项错误。选项B:正确判断了职员号记录大于3并且平均金额大于200元的记录,所以为正确答案。选项C:WHERE条件判断语句后面,不能使用AVG()函数,所以选项错误。选项D:同选项C的答案解析,此选项错误。正确答案为B。(5)[2006年4月选择题31]【答案】D【解析】本题考查考生对SQL语句中的更新语句。答案】【解析】SQL的数据更新命令格式如下:UPDATETableNameSETColumn_Name1=eExpression1[,ColumnName2=eExpression2…]WHERECondition一般使用WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可
    以更新多个字段:如果不使用WHERE子句,则更新全部记录。由此分析题目及答案:
    29
     选项A、B中的FORALL语句不合法,所以错误。选项C具有一定的迷惑性,一般容易选错,如果选项C的格式如下,则选项C也为正确答案:UPDATE产品SET单价=单价+单价*0.08但选项C中使用了“%”,此运算符并非用于数学运算,所以该选项为错误。选项D为正确答案。(6)[2006年4月选择题32]【答案】D【解析】本题考查考生对GROUPBY与ORDERBY解析】答案】子句的理解及正确分析题目的能力。GROUPBY子句可以按一列或多列分组,还可以用HAVING进一步限定分组的条件。具体格式如下:GROUPBYGroupColumn…[,GroupColumn…][HAVINGFilterCondition]而ORDERBYOrder_Item[ASC|DESC][,Order_Item[ASC|DESC]…]根据题意,如果计算每种产品的平均单价,应当按照“产品名称”字段进行分组,所以选项A、B被排除,而选项C使用了ORDERBY子句,与题意不符,所以也被排除,则正确答案为D。(7)[2006年4月选择题34]【答案】【解析】本题考查考生掌握子查询及查询算法的知识。答案】解析】D【嵌套查询或子查询可以使用IN和NOTIN运算符,还可以使用如下两种和子查询有关的运算符:<表达式><比较运算符>[ANYIALLISOME](子查询)[NOT]EXISTS(子查询)ANY、ALL和SOME是量词,其中ANY和SOME是同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。EXISTS是谓词,EXISTS或NOTEXISTS的用来检查在子查询中是否有结果返回,即存在元组或不存在元组。根据以上介绍及题意,此题应当这样理解,在表S中查找出在表SC中相同并且没有成绩在85分以下的学生。根据此想法,我们来判断各个选项的正误。选项A、B都包括了85分(<=),故不符合题意。选项C查找的是表SC中一门或一门以上成绩大于85分以上的记录,不符合题意。选项D查找的是在表SC中没有一门成绩小于85分(也就是说所有的成绩都高于或等于85分),符合题意,故为正确答案。(8)[2006年4月选择题35]【答案】C【解析】本题考查考生对SQL语句中删除记录语句答案】【解析】的掌握。DROP:此命令用来删除表(格式:DROPTABLEtable_name,直接从磁盘上删除table_name所对应的dbf文件。如果table_name是数据库中的表并且相应的数据库是当前数据库,则从数据库中删除表;否则虽然从磁盘上删除了dbf文件),并不能用来删除记录。所以选项A、B被排除。在表中删除记录的命令为DELETE,具体格式如下:DELETEFROMTableN
    ame[WHERECondition]
    30
     其中,FROM指定从哪个表中删除数据,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。从以上所述可以看出,选项D使用了FOR子句,造成语法错误,故排除。选项C为正确答案。(9)[2006年4月填空题11]【答案】UNION【解析】SQL支持集合的并(LYNION)运算,答案】【解析】即可以将两个SELECT语句查询结果通过并运算合并成一个查询结果。为了进行并运算,要求这样的两个查询结果具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围,而实现集合的并运算的运算符为UNION。(10)[2006年4月填空题12]【答案】数据查询【解析】SQL可以实现数据查询、数据定义、答案】【解析】数据操作及数据控制功能,而VisualFoxPro由于自身安全性控制方面的缺陷,所以没有提供数据控制功能,SQL命令动词及功能对照表如下。SQL功能数据查询数据定义数据操作数据控制命令动词SELECTCREATE、DROP、ALTERINSERT、UPDATE、DELETEGRANT、REVOKE
    所以,SELECT语句的功能为时间查询。(11)[2006年4月填空题13]【答案】】SUM(工资)【解析】在使用SQL语言时,只要【13】解析】答案】【数据是按关系方式存入数据库的,就能构造合适的SQL命令把它检索出来。SQL不仅具有一般的检索能力,而且还要计算方式的检索,用于计算检索的函数有:①COUNT——计算②SUM——求和③AVG——计算平均值④MAX——求最大值⑤MIN——求最小值这些函数可以用在SELECT短语中对查询结果进行计算,则计算工资合计时,需要使用SUM(工资)。(12)[2006年4月填空题14]【答案】INSERTINTO【解析】使用SQL语言中的INSERT答案】【解析】命令的格式如下:①INSERTINTOdbf_name[(fname1[,fname2,…])]VELIES(eExpression1[,e
    Expression2,…])②INSERTINTOdbf_nameFROMARRAYA~ayName|FROMMEMVAR其中:INSERTINTOdbf_name说明向由dbf_name指定的表中插入记录,当插入的不是完整的
    记录时,可以用fname1,fname2…指定字段;VALUES(eExpression1[,eExpression2,…])给出具体的记录值;FROMARRAYAArrayName说明从指定的数组中插入记录值;FROMMEMVAR说明根据同名的内存变量里插入记录值,如果同名的变量不存在,那么相
    31
     应的字段为默认值或空值。此题答案为INSERTINTO。(13)[2006年9月选择题19]【答案】C【解析】本题考查对SQLSELECT语句的理解。在答案】【解析】SQLSELECT语句中,使用ORDERBY子句对查询结果进行排序,格式为:ORDERBYOrder_Iten[ASC|DESC][,order_Item[ASC|DESC]…]其中,如果指定了多个排序字段
    ,则依照Orderby子句中指定字段的顺序,按照从左至右的优先次序进行排序,所以选项C为正确答案。(14)[2006年9月选择题25]【答案】A【解析】本题考查使用SQL语句修改表结构。本题答案】【解析】考查修改修改表结构的SQL语句。修改字段的属性命令的语法格式是:ALTERTABLETableName1ALTERFieldName2FieldType[nFieldWidth]其中:TableName1是数据表名FieldName2是数据表中所要修改的字段名FieldType[nFieldWidth]用来说明修改后的字段的类型和宽度。从4个候选项中可以看出,只有选项A是正确的。选项C、D关键字CHANGE有误,而选项B用来指定表的短语DBF错误。所以应选A。[2006年9月选择题26]【答案】C【解析】本题考查SQL语句中向数据表插入数据的命令。答案】【解析】使用SQL语言向表中插入数据的命令是INSERTINTO,命令格式如下:INSERTINTO<表名>[(字段名1[,字段名2,…])VALUES(表达式1[,表达式2,…])或INSERTINTO<表名>FROMARRAY<数组名>|FROMMEMVAR作用是在表尾插入一条记录。而在本题的4个选项中:选项A的顺序不正确,选项B则使用了错误的关键字TO,选项D除了顺序不正确之外,还使用了错误的关键字TO,只有选项C为正确答案。[2006年9月选择题27]【答案】D【解析】本题考查考生对SQL语句的掌握程度。根据题答案】【解析】意,在此SQL语句中,首先要根据“歌手号”分组计算出每个歌手的总成绩,然后去掉该歌手的最高分及最低分,并且根据评委人数(减去两个去掉分数的评委数量)来计算平均分,将结果保存在表TEMP中,并按照“最后得分”的降序排列。在此题的4个选项中,选项A、B在计算歌手总分数时使用了错误的函数COUNT(该函数用来计算记录数量),并在计算评委人数时使用了错误的函数SUM(汇总函数,应当用来计算歌手的总分),所以不正确。而选项C虽然用了正确的函数,但用来指定分组的GROUPBY子句后面错误的使用了“评委号”字段(应当使用“歌手号”字段),所以不正确。所以应选D。[2006年9月选择题28]【答案】B【解析】本题考查对逻辑表达式及BETWEEN函数的掌答案】【解析】握。题干中,SELECT语句的意义为:选择出“歌手”表中所有“最后得分”字段中值不大于9.00(包括9.00)及不小于8.00(包括8.00)记录的所有字段,由此题意我们可以看出:选项C中SQL语句的意义为选出“歌手”表中所有“最后得分”字段值大于9.00或小于8.00的记录,与题意不符。选项D中SQL语句的意义为选出“歌手”表中所有“最后得分”字
    32
     段中值小于等于9.00或大于等于8.
    00的记录(是数据表中的全部记录),与题意不符。选项A有一定的迷惑性,BETWEEN…AND…表示查询的条件值是在什么范围只能的时候用,当BETWEEN作取值范围限定时,包括限定条件的两个端点值,所以考生很容易犯错误,使用BETWEEN…AND…的两个限定值应当遵循从小到大的原则,而此题正好相反,所以不可能查询出结果,故也为错误答案。选项B能够正确体现题干中SQL语句的意义,所以为正确答案。[2006年9月选择题29]【答案】B【解析】本题考查使用SQL对表文件的字段进行有效性答案】【解析】设置。可以使用命令ALTERTABLE来实现对表的字段进行有效性设置,其格式为:ALTERTABLE<表名>ALTER<字段>SETCHECK<表达式>
    选项A、D的错误在于使用了错误的关键字CHANGE。选项B正确。选项C缺少子句关键字SET。[2006年9月选择题30]【答案】A【解析】本题考使用SQL语句创建视图。SQL中创建视答案】【解析】图的命令格式是:CREATEVIEWview_name[(column_name[,column_name]…)]ASselect_statment根据SELECT语句(select_statment)创建指定名称(view_name)指定列名称,(column_name)的视图。具体到本题中:选项C及选项D错误,因为其缺少AS关键字。选项B错误,因为使用了错误的函数LIKE。故选项A为正确答案。[2006年9月选择题31]【答案】D【解析】本题考查SQL中删除视图的命令。删除视图的答案】【解析】命令格式为:DROPVIEW<视图名>删除指定名称视图,所以选项D为正确答案。[2006年9月选择题32]【答案】B【解析】本题考查对程序的阅读能力及对SQL语句中将答案】【解析】查询结果保存到数组中的方法。根据题干可以看出,该程序首先将“歌手”表中当前记录的歌手号在TEMP表中的记录值存放的数组a中,然后再将其“最后得分”字段的值替换为数组中的值,所以该处应当填写如何将temp表中相应的记录值输出的数组a中的SQL语句。在SQL语句中,指定的数组中保存查询结果的子句为:INTOARRAY<数组名>,由此可以看出,只有选项B为正确答案。[2006年9月选择题33]【答案】A【解析】题干中的SQL语句的功能是:查询“最后得分”答案】【解析】比“歌手号”字段中的第一个字符为“2”(SUBSTR(歌手号,1,1)="2")的歌手的“最后得分”高的歌手号。在本题中的4个选项中只有选项A中的查询条件与此相等价,用(SELECTMAX(最后得分)FROM…WHERE…)实现选择出最高的最后得分,故选项A为正确答案。选项B的查询条件表示最后得分大于“歌手号”字段中的第一个字符为“2”的歌手的最低的“最后
    得分”。选项C和D中的ANY和SOME是同义词,表示查询出只要“歌手号”字段中的第一个字符为“2”的歌手任何一个最后得分高的记录即可。(15)[2006年9月填空题9]【答案】INTOTABLE或答案】INTODBF(注:关键字之后的
    内容可省略)解析】本题考查考生对SQL中的INTO子句的掌握。在FoxPro中可以使用【解析】SQL语句中的INTO子句将查询结果存入指定的数据表,其格式为:
    33
     INTOTABLE<表名>或者INTODBF所以答案为:INTOTABLE或INTODBF(16)[2006年9月填空题10]【答案】NULL(或.NULL)【解析】空值既不等同空字符串,解析】答案】也不等同于数值0,VisualFoxPro支持空值,在SQL语句中,空值使用NULL表示。(17)[2006年9月填空题15]【答案】COLUMN【解析】在SQL语句中,修改表字段称为答案】【解析】的格式如下:RENAMECOLUMN字段名1TO字段名2故正确答案为COLUMN。4.2007年笔试真题解析.3(1)[2007年4月选择题11]【答案】A【解析】本题是对SQL有关概念的考查。SQL是结答案】【解析】构化查询语言(StructuredQueryLanguage)的简称。在VFP中多对应的操作有数据查询、数据定义和数据操作,其中对应数据操作的命令有INSERT、UPDATE和DELETE三种。由此可以看出,题目中只有答案A所列出的命令不是SQL数据操作命令。所以正确答案为A。(2)[2007年4月选择题15]【答案】D【解析】本题考查对SQL语句的掌握。SQL语句中答案】【解析】的HAVING子句用来指定包括在差结果中的组必须满足的筛选条件。利用HAVING子句,可以设置当分组满足某个条件时才检索。在查询中,首先利用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组。所以说:“HAVING<条件表达式>”用来筛选满足条件的分组,符D为正确答案。(3)[2007年4月选择题16]【答案】D【解析】本题考查考生对SQL语句中用于插入数据答案】【解析】的INSERT语句的掌握。向数据表中插入记录的SQL命令是INSERT,其语法为:INSERTINTO表名[(字段名1[,字段民2,…])VALUES(表达式1[,表达式2,…])因此可以看出,选项C的语法错误,故不是正确答案。而在INSERT语句中吓唬人记录的各个字段值(VALUES后面的字段列表)要与的所列出的字段顺序相同,并且数据类型也需要相同。所以选项A、B均错误(选项A中对GRADE字段岁插入的数值为“'98'”,为字符型数据;而选项B中对CNO所插入的数值为C11,不是字符型数据)。选项D为正确答案。(4)[2007年4月选择题17]【答案】B【解析】本题考查对SQL语句中的SELECT短语的答案】【解析】掌握。
    在SQL语句中的SELECT短语用来指定显示在查询结果中的字段、常量或表达式,在其中可以使用别名;而在SELECT中列出的字段、常量或表达式的顺序决定了结果集中的顺序,如果在多表查询中,FROM短语所引用的多个表有同名的列,在SELECT短语中引用此列时必须加入表名(或别名)的前缀,以限定随所查询的字段的来源表。综上所述,选项B的叙述是错误的,在SELECT短语中还可以包含常量及表达式,不一定必须与表中的列相关。所以选项B为正确答案。(5)[2007年4月选择题18]【答案】D【解析】本题考查考生对BETWEEN的理解和掌握。答案】【解析】表达式“年龄BETWEEN12AND46”的含义是:选择“年龄”在12和46之间的那些记录。请注意,用BETWEEN作取值范围限定时,是包括限定条件的两个端点值,因此表达式所设定的限定条件相当于“年龄”大于等于12并且小于46。选项A、C所使用的关系运算符
    34
     错误,而选项B则不是一个正确的逻辑表达式,所以选项D为正确答案。(6)[2007年4月选择题19]【答案】【解析】本题考查看哦啊是对SQL语句中的HAVING答案】A【解析】短语的掌握。SQL语句中,在利用HAVING子句,可以设置当分组满足某个条件时才检索。HAVING子句总是跟在GROUPBY子句之后,不可以单独使用。在查询中,首先利用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组。而GROUPBY子句一般在WHERE语句之后,那样WHERE语句时,跟在FROM子句之后。另外,也可以根据多个属性进行分组。综上所述,选项A为正确答案。(7)[2007年4月选择题20]【答案】C【解析】本题考查考生对DISTINCT短语的理解。在答案】【解析】SQL查询语句中,DISTINCT短语的作用是去掉查询结果中的重复值。所以答案C正确。(8)[2007年4月选择题25]【答案】C【解析】本题考查考生对SQL命令创建表及数据完答案】【解析】整性的知识。数据的完整性包括实体完整性。域完整性及参照完整性三种,其中实体完整性是为了保证表中记录惟一的特性,即在一个表中不允许有重复的记录。VisualFoxPro利用主关键字或候选关键字来保证表中记录的惟一,即保证实体惟一性。而在题目中的四个选项中,只有选项C的“PRIMARYKEY”短语是用来在SQL创建表命令中创建主索引,所以选项C正确。(9)[2007年4月选择题28]【答案】A【解析】本题考查考生对于使用SQL语言的知识。答案】【解析】如果要删除表中的某个字段值,使用SQL语言的语法为:ALTERTABLE表名[DROP[COLUMN]字段名]则此题中,选项A为正确答案。(10)[2007
    年4月选择题30]【答案】A【解析】本题考查考生对SQL语法的掌握程度。选答案】【解析】项B中没有指定DESC关键字,则所生成的新表是默认的升序排列,所以错误。选项B与选项C的OrderBy子句后面,“年龄”以字符串形式给出,没有正确的表达题意,所以错误,选项A能够实现题目要求的所以条件,所以正确。(11)[2007年4月选择题31]【答案】D【解析】本题考查对SQL中子查询的用法。选项A答案】【解析】表示查询在表SC中课程号同时等于"C1"和"C5"的记录的内容,因为每条记录中只有一个“课程号”,所以此查询不可能有结果,此项错误。选项B、C为错误语句,执行会出现“子查询返回多条记录”错误。选项D则表示查询所有“课程号”等于C1,并且“”在所有“课程号”等于C5的记录集中的记录。故符合题意,此选项为正确答案。(12)[2007年4月选择题32]【答案】D【解析】本题考查SQL语句进行多表查询的操作知答案】【解析】识。在进行多表联合查询时,如果SELECT列表中的字段名在多个表中都有,则必须要在列表中指定多引用字段的来源,选项A及选项B均未指定“”字段的来源表,所以错误。选项C有一定的迷惑性,由于JOINON后面紧跟联接的条件,所以“FROMSJOINSCJOINC”应当理解为“SC表与C表联接后,再与S表联接”,所以第一个ON后面应当紧跟SC与S表联接条件,而第二个ON后面才是SC表与S表的联接条件。所以选项D正确。(13)[2007年4月填空题11]【答案】TOP10【12】DESC【解析】SQL查询的语法如下。答案】【】【解析】格式:SELECT[ALL|DISTINCT][TOP数值表达式[PERCENT]][表别名]检索项[AS列名][,[Alias.]检索项[AS列名]…]
    35
     FROM[数据库名!]表名[逻辑别名]WHERE连条件[AND连接条件…][AND|OR<条件表达式>[AND|OR<条件表达式>…]]][GROUPBY<列名>[,<列名>…]][HAVING<条件表达式>][UNION[ALL|SELECT<语句>[ORDERBY排序项[ASC|DESC][,排序项[ASC|DESC]…]]其中,要查询前某一定条数的记录,需要使用TOP子句,在本题中,需要查询前10名的歌手,所以在第一个空中,需要填入“TOP10”;而如果OrderBy子句后面不加指定子句,则默认为升序排列,那样一来,“最后得分”最高的10名选手的记录应当排列在查询结果的最后10位,所以要使用DESC子句指定结果降序排列(分数高的记录排列在前面。依次减少),所以在第二个空中应当填入“DESC”。(14)[2007年4月填空题12]【答案】】ALTER【解析】在SQL语句中修改表结构的语【13】答案】【【解析】句为:ALTERTABLE表名1[DROP[COLUMN]
    字段名3][SETCHECK逻辑表达式3[ERROR字符型文本信息3]][DROPCHECK][ADDPRIMARYKEY表达式3TAG标识名2][PRIMARYKEY][ADDUNIQUE表达式4[TAG标识名3][DROPUNIQUETAG标识名4][ADDFOREIGNKEY[表达式5]TAG标识名4REFERENCES表名2[TAG标识名5]][DROPFOREIGNKEYTAG标识名6[SAVE][RENAMECOLUMN字段名4TO字段名5][NOVALIDATE]所以,在空中应当填入“ALTER”。(15)[2007年9月选择题26]【答案】B【解析】在SQL语句中,使用短语INTOCURSOR解析】答案】CursorName把查询结果存放到临时数据库文件当中(CursorName是临时的文件名)此短语产生的临时文件是一个只读的dbf文件,当关闭文件时,该文件将会自动删除。所以选项B为正确答案。查询结果的存储还有一些其他选, 项,如:使用INTOARRAYArrayName短语把查询结果存放到数组当中,ArrayName是任意的数组变量名;使用短语INTODBF|TABLETableName,把查询结果存放到永久表当中(选项C及选项D)。使用短语TOFILEFileName[ADDITIVE]把查询结果存放到文本文件当中(选项A)(16)[2007年9月选择题29]【答案】D【解析】SQL的ALTERTABLE增加表字段的语句解析】答案】格式为:ALTERTABLE表名ADD字段名数据类型标识[(字段长度[,小数位数])]
    36
     根据题意,应当使用ADD短语,选项D为正确答案。(17)[2007年9月选择题30]【答案】A【解析】本题考查考生对逻辑表达式的掌握,题目解析】答案】要求查询所有1928年3月20号以后(含)出生,并且性别为“男”的记录,题目所给出的选项意义如下:选项A查询所有1928年3月20号以后(含)出生,并且性别为“男”的记录,为正确答案。选项B查询所有1928年3月20号以前(含)出生,并且性别为“男”的记录,错误。选项C查询所有1928年3月20号以后(含)出生或者性别为“男”的记录,错误。选项D查询所有1928年3月20号以前(含)出生或者性别为“男”的记录,错误。选项A为正确答案。[2007年9月选择题31]【答案】D【解析】本题中各个选项解释如下:选项A错误,此答案】解析】查询只选择了“选课”表,但在“选课”表中并没有“”字段。选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表联接起来。选项D正确。[2007年9月选择题32]【答案】B【解析】本题中所给出的四个选项中个,选项A与选答案】解析】项C的错误很明显,因为分组短语GROUPBY后面所跟的“专业”字段,在查询是结果中并不存在,所以这两个选项不与考虑。而选项D作为有一定的迷惑性,但题目仔细观察可以看出,其Se
    lect短语后面所跟随的“专业”字段列表在“选课”表中不存在,所以为错误选项。故选项B为正确答案。[2007年9月选择题33]【答案】D【解析】本题所给出的四个选项中:选项A中的子查答案】解析】询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选项错误。选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分阿玉等于所有“101”科目成绩的记录,如果其余课程的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误的结果,此选项错误。选项C中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是是所有课程得分大于等于任意“101”科目成绩的记录,此查询将查询出错误结果,此选项错误。选项D符合题意,将查询出正确结果,故为正确答案。[2007年9月选择题34]【答案】A【解析】使用SQL插入表记录的命令INSERTINTO向解析】答案】表中插入记录的格式如下:INSERTINTO表名[(字段名1[,字段名2,…])VALUES(表达式1[,表达式2,…])因此命令格式可以看出,选项A为正确答案。[2007年9月选择题35]【答案】B【解析】SQL中的UPDATE语句可以更新表从数据,解析】答案】格式如下:UPDATE<表名>SET<列名1>=<表达式1>[,列名2>=<表达式2…][WHERE<条件表达式1>[AND|OR<条件表达式2>…]因此命令格式可以卡车,选项B为正确答案。选项A错误的使用了With短语,而选项C及选项D均使用了错误的FROM短语。(18)[2007年9月填空题6]【答案】ISNULL【解析】此题考生容易犯错误,需要注意的是,答案】【解析】空值是一个特殊的值,测试一个属性值是否为空时,不能用数"性=NULL"或者"属性=!NULL",应该使用"属性ISNULL"(属性为空)或者“属性ISNULL”(属性不为空),本题要
    37
     查询不为空的记录,所以答案为“ISNULL”。(19)[2007年9月填空题7]【答案】GROUPBY或GROUP【解析】本题考查考生都SQL答案】【解析】语句中的HAVING短语的掌握。在SQL语句中,利用HAVING子句,可以设置的当分组满足某个条件时才检索。HAVING子句总是跟在GROUPBY子句之后,不可以单独使用。在查询中,首先利用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组。而GROUPBY子句一般在WHERE语句之后,没有WHERE语句时,跟在FROM子句时候。另外,也可以根据多方属性进行分组。综上所述,答案为GROUPBY或GROUP
    。(20)[2007年9月填空题8]【答案】DISTINCT【解析】在SQL查询语句中,DISTINCT短答案】【解析】语的作用是去掉查询结果中的重复值,所以答案为DISTINCT。(21)[2007年9月填空题15]【答案】UPDATE【解析】在SQL中,插入、删除、更新命令答案】【解析】依次是INSERT、DELETE、DELETE。所以答案为UPDATE。4.2008年笔试真题解析.4(1)[2008年4月选择题19]【答案】B【解析】本题考查SQL语句中视图的删除命令。删答案】【解析】除视图的SQL命令是DROPVIEW<视图名>,因此本题的正确但是选项B。而选项A中的DROPTABLE命令,是SQL中删除数据表的命令。选项C和选项D不是VFP中的合法命令。(2)[2008年4月选择题20]【答案】A【解析】本题考查SQL排序查询。根据SQL查询语答案】【解析】句的基本结构,可以很任意发现,在选项B和选项D中,用来指定查询条件的WHERE关键字错误,首先排除这两个选项,然后,根据题目要求,需要按金额降序排序查询结果,在排序语句中,ASC短语表示升序排序,是默认的排序方式,可省略;而DESC短语表示降序排序,不可以缺少,选项A和C中,A采用的是降序排序,与题目要求符合,因此,正确答案为选项A。(3)[2008年4月选择题21]【答案】C【解析】本题考查SQL操作语句的删除功能。删除答案】【解析】记录命令的标准格式为:DELETEFROM<数据表名>WHERE<逻辑表达式>
    其中,FROM指定从哪个表中删除记录,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则实参表中的全部记录。本题中选项A和B都属于语法错误,没有DELETETABLE这样的用法,而选项D的WHERE关键字使用错误,因此,本题应选C。(4)[2008年4月选择题33]【答案】【解析】答案】解析】C本题考查SQL定义语句,利用ALTERTABLE命令修改结构,4个选项中,只有选项C的命令关键字是ALTERTABLE,因此,本题应选C。[2008年4月选择题34]【答案】D【解析】本题考查SQL数据更新语句。该语句的基本命答案】【解析】令格式为:UPDATE<数据表名>SET字段名=更新表达式值WHERE<条件表达式>当不使用WHERE子句时,则更新全部记录。套用UPDATE的噩梦了格式,不难看出,本题应选D。[2008年4月选择题35]【答案】A【解析】本题考查简单计算查询。求最大值的函数是答案】【解析】MAX(),使用计算函数后,会改变原来的用于计算的字段名,如果要指定新字段名,可以在
    38
     该计算函数后通过AS短语指定新的字段名,也可以省略AS短语直接输入新字段名作为输出显示的字段名称。本题选项C和D中,使用
    计算函数的表达式错误;而选项B中个,条件短语的关键字错误,应该是WHERE,而不是WHEN,因此本题应选A。(5)[2008年4月填空题7]【答案】DISTINCT【解析】本题考查SQL命令的使用。在SQL答案】【解析】查询语句中,要消除结果中的重复记录,则使用DISTINCT子句。(6)[2008年4月填空题8]【答案】LIKE【解析】本题考查SQL命令的使用。在SQL查询答案】【解析】语句中,LIKE是字符串匹配运算符。因此本题的正确答案是LIKE。(7)[2008年4月填空题10]【答案】PRIMARYKEY【解析】本题考查SQL是数据表定义答案】【解析】语句。用CREATETABLE命令可以完成表事务机器所能完成的所有功能。除了建立表的基本功能外,CREATETABLE命令还可以通过PRIMARYKEY短语设置实体完整性的值关键字设置。因此,本题的正确答案是PRIMARYKEY。(8)[2008年4月填空题11]【答案】AGEISNULL【解析】本题考查SQL语句利用空值进【解析】行查询。SQL支持空值,也可以利用空值进行查询。但查询空值时要使用ISNULL,而=NULL是无效的,因为空值不是一个确定值,所以不能用“=”这样的运算符进行比较。因此,本题的正确答案是AGEISNULL。(9)[2008年9月选择题18]【答案】D【解析】本题考查对SQLSELECT语句的使用,在解析】答案】SQLSELECT语句中,使用ORDERBY子句对查询结果进行排序,格式为:ORDERBYOrder_Item[ASC|DESC][,order_Item[ASC|DESC]…],所以选项D为正确答案。(10)[2008年9月选择题21]【答案】【解析】答案】解析】A本题考查SQL语句的使用,SQLSELECT在语句中,对于查询结果输出有如下几个选项:INTOARRAY(把查询结果存放到数组当中);INTOCURSOR(把查询结果存放到临时的数据表文件当中);TOFILE(把查询结果存放到文本文件当中);TOPRINTER(把查询结果输出到打印机)。INTO和INTOTABLE短语是等价的,选项A正确。(11)[2008年9月选择题25]【答案】A【解析】本题考查SQL对表结构进行修改。修改解析】答案】表结构的命令格式是:ALTERTABLE<表名>,视图ADD子句用于说明所增加的字段或字段属性说明,选项C和选项D的命令关键字CHANGE是FoxPro中编辑记录的命令,可排除,选项B中用来说明字段属性的方法错误(没有加上括号)。因此正确答案为选项A。(12)[2008年9月选择题31]【答案】B【解析】本题考查SQL的查询命令。SQL查询命解析】答案】令的基本形式由SELECT-FROM-WHERE查询块组成,在本题所给出的4个选项中,选项C及选项D使用了错误的条件关键字“FOR”所以排除。而选项A中“(名称='主机板'AND名称='硬盘')”条
    件错误,所以正确答案为选项B。[2008年9月选择题32]【答案】D【解析】本题考查VFP中对应查询条件中匹配符的掌解析】答案】握。在SQL中,LIKE是字符串匹配运算符,通配符“%”表示0个或多个字符,另外“-”表示一个字符,使用通配符,要用LIKE运算符,而不能简单地使用“=”。在本题中,选项A和选项B使用了错误的条件短语“FOR”,排除,而选项C则使用了错误的运算符,所以正确答案为D。[2008年9月选择题33]【答案】A【解析】本题考查在SQL查询语句中对NULL(空)解析】答案】值的掌握。使用Null值作为空值查询,其中查询空值要使用IsNULL,或IsNotNull,而
    39
     “=NULL”是无效表达式,选项C及选项D使用了错误的条件关键字“FOR”所以排除,选项B使用不无效表达式,故正确答案为A。[2008年9月选择题34]【答案】A【解析】本题题目要求是要查询订购单的数量及所有订解析】答案】购单的平均金额,考查的是SQL中实现两个表连接时的命令。在SQL中两表连接命令的格式为:SELECT…FROM<表名>INNERJOIN<表名>ON<连接表达式>,由此可以看出,选项C、D为错误选项。需要注意的是,由于在“订购单明细”表中可能有很多重复的产品号,还可能有很多的订购单号,如果不加入DISTINCT短语限制重复订单号的化(选项B),该SQL语句执行完后,计算的订购单数量会是在“订购单明细”表中所有记录的总和,所以该选项错误。正确选项为A。[2008年9月选择题35]【答案】【解析】答案】D解析】本题考查考生对表关键字及表之间关系的理解。因为VisualFoxPro利用主关键字或候选关键字来保证表中记录的惟一。即保证实体惟一性。题目所给出的4个选项在拼写上均无错误,但在选项A、B中要在“订购单”表中撤人订单号为“OR5”的订单,而“订购单”表以“订单号”为主关键字,并已有订单号为“OR5”的记录,所以这两个命令无法执行。而又由于主订购单表参照客户表,为了保证这两个表的参照完整性,所以选项C中客户号为“C11”的记录在客户表中不存在,所以该命令也是错误的,正确答案为D。(13)[2008年9月填空题6]【答案】【解析】答案】TO解析】本题考查SQL语句的用法。SQLSELECT在语句中,对于查询结果的输出与如下几个选项:INTOARRAY(把查询结果存放到数组当中);INTOCURSOR(把查询结果存放到临时的数据表文件当中);TOFILE(把查询结果存放到文本文件当中);TOPRINTER(把查询结果输出到打印机)。由于本题要求将查询结果存储在文本文件中,所以要使用TO关键字。(14)[2008年
    9月填空题8]【答案】【解析】答案】全部解析】本题考查SQL命令的用法。VisualFoxPro在中的DELETE-SQL语句可以为指定的数据表中的记录添加删除标记。语法为:DELETEFROM<数据库名!>表名[WHERE条件表达式1[AND|OR条件表达式2…]],功能是为指定的数据表中的记录添加删除标记。其中WHERE指定被删除的记录所满足的条件,不使用WHERE子句,则删除该表中的全部记录。(15)[2008年9月填空题9]【答案】INTOCURSOR【解析】本题考查SQL命令的用法。答案】【解析】在SQLSELECT语句中,对于查询结果的输出与如下几个选项:INTOARRAY(把查询结果存放到数组当中);INTOCURSOR(把查询结果存放到临时的数据表文件当中);TOFILE(把查询结果存放到文本文件当中);TOPRINTER(把查询结果输出到打印机)。由于本题要求将查询结果存储在临时表中,所以要使用关键字INTOCURSOR。4.2009年笔试真题解析.5(1)[2009年3月选择题12]【答案】D【解析】SQL的查询语句也称作SELECT命令,其答案】【解析】基本形式是SELECT—FROM—WHERE查询模块,所以,正确选项为D。选项A~选项C的命令依次为SQL语言的插入数据、修改数据及删除数据命令。(2)[2009年3月选择题13]【答案】B【解析】ALTERTABLE命令用来修改表的结构。通答案】【解析】过ALTER-SQL命令,可以对表的字段名、字段类型、精度、比例、是否允许空值及引用完整性规则等内容进行修改,所以正确选项为B,其他几个选项中:INSERT命令用来向表中
    40
     插入数据、UPDATE命令用来更新表中插入,而CREATE命令用来创建表或数据库。(3)[2009年3月选择题14]【答案】B【解析】根据题意,此操作应当使用Insert命令将插答案】【解析】入记录。Insert命令基本格式为:INSERTINTOTableName[(字段名1[,字段名2,…])]VALUES(表达式1[,表达式2,…]),题目中所列为Values短语后面的表达式列表,应当注意的是,“成绩”字段为数值型(n(3)),所以要插入的数值不能用户引号(")括起来,否则会出现“数据类型不匹配”的错误。综上所述,只有选项B符合条件,为正确答案。(4)[2009年3月选择题16]【答案】【解析】VisualFoxPro中的CREATETABLE—SQL答案】解析】D【在命令用来创建一个表,可以定义新表中每个字段的名称、类型、精度、比例、是否支持空值以及参照完整性规则定义。这些定义可以从命令本身或数组中获得。但需要注意的是,对于表的完整性、有效性规则等信息的设置,只能针对数据库表来进行,而对自由表,则不能进行这些信息的设置,所以选项D为正确答案。(5)[2
    009年3月选择题24]【答案】D【解析】HAVING用来指定包括在查询结果中的组必答案】【解析】须满足的筛选条件,在分组查询时,有时要求用分组删除满足某个条件记录的检索,这时可以用HAVING子句来实现,因此选项D正确。(6)[2009年3月选择题26]【答案】A【解析】本题中要求选择出的记录需同时满足两个条答案】【解析】件:即研究生导师字段值应为.T.,并且“性别”字段值应为“女”,选项C的条件选择错误,故不正确;这两个条件之间应当使用“并”的关系,也就是之间要用AND逻辑符号进行连接,所以选项B和D明显不正确。正确答案为A。(7)[2009年3月选择题31]【答案】C【解析】本题中的选项A和D,均错误地为字段变答案】【解析】量加上引号("成绩"和""),为错误选项;而选项B则将数字60加上引号("60"),使其变为字符串,这将造成数据类型不匹配错误。选项C为正确答案。[2009年3月选择题32]【答案】A【解析】将使用SQL的查询语句的结果存放到临时表文答案】【解析】件的正确命令格式为:SELECT<字段列表>FROM<表名>INTOCURSOR<临时表文件名>以此判断,正确答案为选项A。[2009年3月选择题33]【答案】A【解析】SQL的特殊运算符BETWEEN<表达式1>AND<答案】【解析】表达式2>用来检索表达式1到表达式2值范围内的信息,“成绩BETWEEN70AND85”在此等价于“成绩>=70AND成绩<=85”,也就是成绩在70分到85分之间的记录,符合题意,故为正确选项。选项B、C均使用了错误的逻辑雅芳“OR”,选项D正确在“AND”后面没有标明字段变量“成绩”,为错误的逻辑表达式,此三项均为错误选项。[2009年3月选择题34]【答案】C【解析】没有考生成绩的学生记录中,“成绩”字段值为答案】【解析】空(NULL),判断某个字段是否为空的方法不能使用该字段“=BULL”或“<>NULL”,而要使用“ISNULL”或“ISNOTNULL”方法,所以,选项C为正确答案。[2009年3月选择题35]【答案】【解析】答案】解析】D本题考查查询算法及子查询的知识。其中:EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,选项A中所列SQL语句正确。嵌套查询或子查询可以使用IN和NOTIN运算符,选项B中所列SQL语句正确。选项C使用了连接查询,JOIN表示连接,与之配合使用的关键字应该是ON,ON后面跟随连接查询的条件。选项C中所列SQL语句正确。选项D也使用了子查询,但使用
    41
     了错误的运算符“=”,该语句为错误,故选项D为正确答案。(8)[2009年3月填空题8]【答案
    】primarykey【解析】本题考查SQL中建立数据库表命令答案】【解析】的使用。在SQL中,使用短语PRIMARYKEY将字段规定为主索引字段。(9)[2009年3月填空题10]【答案】连接【解析】关系运算有三种,它们分别是选择运算、答案】连接【解析】投影运算和连接运算。投影运算是从关系模式中指定若干个属性组成新的关系。选择是从关系中找出满足给定条件的元组,以上这两种运算的对象只能是一个表;而连接是将两个关系模式拼接成一个更宽的模式,生成的新关系包含吗联接条件的元组,该运算的对象是一个表以上。(10)[2009年3月填空题14]【答案】HAVING【解析】本题考查考生都SQL语句中实现分答案】【解析】组功能的GROUP子句的理解和掌握。在分组查询时,有时要求用分组实现满足某个条件记录的检索,这时可以用HAVING子句来实现。HAVING子句总是跟在GROUPBY子句之后,不可以单独使用,利用HAVING子句设置当分组满足某个条件时检索,在查询中,首先利用WHERE子句限定元组,然后再进行分组,最后再利用HAVING子句限定分组。(11)[2009年3月填空题15]【答案】avg(成绩)【解析】由于题目要求要检索成绩高于或解析】答案】等于平均成绩的记录,所以要在子查询中计算出学生的平均成绩,而函数AVG()则用来计算平均值。(12)[2009年9月选择题14]【答案】B【解析】关系运算有三种:选择、投影和连接。投答案】【解析】影运算是从关系模式中指定若干个属性组成新的关系;选择是从关系中找出满足给定条件的元组;连接是将两个关系模式拼接成一个更宽的模式,生成的新关系包含满足联接条件的元组。由于本题只选择了“”一个字段,所以此程序应当为投影,选项B为正确答案。(13)[2009年9月选择题27]【答案】C【解析】ORDERBY子句可以按升序(ASC)或降答案】【解析】序(DESC)排序,允许按一列或多列排序,其格式为:ORDERBYOrder_Item[ASC|DESC][,Order_Item[ASC|DESC]…],ORDERBY短语中指定了多个字段,则依次按自左至右的字段顺序排序。选项C为正确答案。(14)[2009年9月选择题30]【答案】C【解析】题干中的SQL语句的作用是选择出教师表答案】【解析】中的全部记录,并将选择出的记录保存在永久表A中。在SQL语句中,使用INTODBF|TABLETableName子句,可以将查询结果存放到永久表中,所以,与INTODBF等
    价的就是INTOTABLE,故选项C正确。(15)[2009年9月选择题31]【答案】A【解析】将使用SQL是查询语句的结果存放到临时答案】【解析】表文件的正确命令格式为:SELECT<字段
    列表>FROM<表名>INTOCURSOR<临时表文件名>以此判断,本题正确答案为选项A。(16)[2009年9月选择题32]【答案】D【解析】在使用SQL语句创建表的命令中,用来指答案】【解析】定主关键字的短语为PRIMARYKEY,跟随在要成为主关键字的字段名定义之后,在提供的4个选项中,只有选项D正确,故为正确答案。(17)[2009年9月选择题34]【答案】A【解析】本题考查SQL实现连接操作的命令。SQL答案】【解析】中实现连接的命令格式为:SELECT<字段类表>FROM<表名>INNERJOIN<表名>ON<连接表达式>WHERE<条件表达
    42
     式>在本题中,只有选项A符合此命令格式,故为正确答案。(18)[2009年9月选择题35]【答案】D【解析】根据题意,正确的步骤应该如下:首先使答案】【解析】用在“教师”表和“”表中使用连接查询选择出系号及每个系的教师人数,将结果保存在一个临时使用的表中。然后在这个临时使用的表中选择出人数最多的记录。题目中所给的四个选项中,选项A中没有指定两个表连接的条件(教师表.系号=表.系号)所以错误;,选项B的两个表连接查询时,没有指定将保存计算出的总人数的字段名称指定为“人数”,这样就造成下一步从临时使用的表中选择数据时出现错误;选项C中的第一步操作将选择结果保存在文件TEMP中,所以是错误选择;选项D能够得出题目所要求的结果,为正确答案。(19)[2009年9月填空题14]【答案】ALTER。答案】。SETCHECK【解析】本题考查使用【解析】
    SQL语句设置字段有效性规则的语法格式。为表的字段设置有效性规则,可以使用SQL语句实现,其命令格式为:ALTERTABLE<表名>ALTER<字段名>SETCHECK<表达式>
    4.2010年笔试真题解析.6(1)[2010年3月选择题25]【答案】B【解析】在SQL命令中,INSERT是插入语句的关键答案】【解析】词,CREATE是创建语句的关键词,SELECT是查询语句的关键词,UPDATE是更新语句的关键词。(2)[2010年3月选择题28]【答案】D【解析】删除数据用命令:DELETEFROM【tableName[WHERECondition],因此首先排除A和C选项。而%在这里表示通配符,A%表示以A开头。因此删除图书编号中以A开头的记录的命令为:DELETEFROM图书WHERE图书编号LIKE“A%”,即D选项正确。(3)[2010年3月选择题30]【答案】B【解析】查询的基本形式为“SELECT-FROM-WHERE答案】【解析】查询块”,多个查询块可嵌套执行。SELECT说明要查询的数据,FROM说明要查询的数据来自哪个或哪些表,WHERE说明查询条件,即选择元组的条件。此处需要注意的是字段值的表示方式,当需要指
    定某个特定的字段值时,应当用双引号()进行表示,而对于特定“”的字段,不需要加双引号。[2010年3月选择题31]【答案】C【解析】SQL支持空值,同样可以利用空值进行查询。答案】【解析】查询空值时要使用ISNULL。而“=NULL”是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比较。[2010年3月选择题32]【答案】A【解析】VisualFoxPro中将SQLSELECT的查询结果存答案】【解析】放到临时文件中,用命令:INTOCURSORCursorName。[2010年3月选择题33]【答案】D【解析】只知道部分字段时,通常采用LIKE进行模糊答案】【解析】查找,查找全部符合要求的字段值。“%”和“*”都可以表示多个任意字符,而题目中要求查找名称中含有“北京”字样的字段值,所以需要在“北京”字样的前后都加上“%”“*”胡。[2010年3月选择题34]【答案】B【解析】此处需要注意的是year()函数的使用,“year(借答案】【解析】书日期)=2009”表示借书日期的年份为2009。[2010年3月选择题35]【答案】D【解析】此处涉及嵌套查询的知识,根据题目分析可知答案】【解析】
    43
     需要采用嵌套的SQL语句进行查询。“工程师”来自读者表中的职称字段,“图书编号”来自借阅表,而读者表和借阅表共有字段为借书证号,所以此查询WHERE条件应该为借书证号,所以选D。(4)[2010年3月填空题12]【答案】COUNT()【解析】SQL不仅具有一般的检索能力,而月填空题答案】【解析】且还有计算方式的检索,用于计算检索的函数有:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)、MIN(求最小值)。(4)[2010年3月填空题13]【答案】DISTINCT【解析】SQL语句中,为了避免查询到重复答案】【解析】记录,可使用DISTINCT短语,但是每一个子句只能使用一次DISTINCT。(4)[2010年3月填空题14]【答案】CHECK【解析】由题意可知此题是修改表结构,且修答案】【解析】改的是表的有效性规则结构。SQL语句中修改表的有效性规则的命令语句通常是ALTER在后跟CHECK关键词,该关键词主要是说明需要修改的有效性规则的具体内容。(4)[2010年3月填空题15]【答案】HAVING【解析】HAVING子句总是跟在GROUPBY答案】【解析】子句之后,而不能单独使用。在查询中先是用WHERE子句限定元组,然后进行分组,最后再用HAVING子句来限定分组。(8)[2010年9月选择题月选择题31]【答案】A【解析】BETWEEN…AND的意思是在"…"和"…"之间,年月选择题答案】【解析】包含两端的数值。[2010年9月选择题年月选择题
    月选择题32]【答案】C【解析】SQL支持空值,同样可以利用空值进行查询。查答案】【解析】询空值时要使用ISNULL,而"=NULL"是无效的,因为空值不是一个确定的值,所以不能用"="这样的运算符进行比较。这里ON指定连接的条件。[2010年9月选择题月选择题33]【答案】D【解析】特殊选项TOP的格式为"TOP<数字表达式>[PERCERNT]",当不是用PERCERNT时,数字表达式是1至32767间的整数,说明显示前几个记录,当是用PERCERNT时,数字表达式是0.01至99.99间的实数,说明显示结果中前百分之几的记录。TOP短语要与orderby短语同时使用才有效。[2010年9月选择题年月选择题月选择题34]【答案】B【解析】本题考查嵌套查询,内层查询首先查询出有一门答案】【解析】课程成绩小于90的学生,外层查询再将查询出的结果排除。故答案为B)。[2010年9月选择题年月选择题月选择题35]【答案】C【解析】由题意可知此题是修改表结构,且增加的是表的答案】【解析】字段。在SQL语句中修改表命令通常是:ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束>][ALTER]<列名><数据类型>](9)[2010年9月填空题月填空题11]【答案】HAVING【解析】HAVING子句总是跟在GROUPBY子年月填空题答案】【解析】句之后,而不能单独使用。在查询中是先用WHERE子句限定元组,然后用GROUPBY子句进行分组,最后再用HAVING子句来限定分组。(10)[2010年9月填空题年月填空题月填空题13]【答案】LEFT(,4)或SUBSTR(,1,4)答案】INTO【解【
    析】①从指定表达式值的左端取一个长度的子串作为函数值用LEFT(<字符表达式>,<长度>),另外SUBSTR(〈字符表达式〉,〈起始位置〉,[,〈长度〉])的功能为从指定表达式值的指定起始位置取指定长度的子串作为函数值。②VisualFoxPro中将SQLSELECT
    44
     的查询结果存放到永久文件中,用命令:INTODBF|TALBETableName。(11)[2010年9月填空题月填空题14]【答案】ALTERC(12)【解析】由题意可知此题是修改表年月填空题答案】【解析】结构,且修改的是表中字段的宽度。在SQL语句中修改表的字段宽度的命令通常是:ALTERTABLE〈表名〉ALTER<列名><数据类型>。4.2011年笔试真题解析.7(1)[2011年3月选择题14]【答案】A【解析】选择题解析】答案】用SQL语句增加字段的语句格式为:altertabletablenameaddcolumn(字段名字段类型),数值型数据用N表示,其宽度及精度的描述放在括号时,故答案为A)。(2)[2011年3月选择题15]【答案】A【解析】FoxPro中的delete命令属于逻辑删除,作选择题
    解析】答案】用是给符合条件的记录打上删除标记,可用RECALL命令来恢复,在执行时需要用use命令先打开数据表,而SQL中的delete命令不需要先用USE命令打开表。故本题答案为A)。(3)[2011年3月选择题18]【答案】C【解析】ALTERTABLE语句用于在已有的表中添加、解析】年月选择题答案】修改或删除字段。删除字段的格式为:altertabletablenamedropcolumnfieldname,故本题答案为C)。(4)[2011年3月选择题20]【答案】【解析】答案】B解析】在表中删除记录的SQL语句格式为:deletefrom年月选择题tablename[wherecondition],故答案为B)。(5)[2011年3月选择题24]【答案】【解析】选择题答案】解析】CAPPEND命令是在表的尾部增加记录。INSERT命令可以在表的任意位置插入新的记录。在表中插入新记录的SQL命令格式为:INSERTINTOdbf_name[(fname1[,fname2,...]VALUES(eExpression1)][,eExpression2,...])或INSERTINTOdbf_nameFROMARRAYArrayName|FROMMEMVAR,故本题答案为C)。(6)[2011年3月选择题28]【答案】C【解析】DISTINCT短语的作用是去掉查询结果中选择题解析】答案】的重复值。故本题答案为C)。(7)[2011年3月选择题31]【答案】C【解析】A)选项WHERE条件中需用AND来连接;选择题解析】答案】学生表student和成绩表score都含有字段,在查询时需指明属于哪个表,故A)、B)和D)不正确。本题答案为C)。[2011年3月选择题32]【答案】A【解析】EXISTS是谓词,EXISTS或NOTEXISTS是选择题答案】【解析】用来检查在子查询中是否有结果返回,即存在元组或不存在元组用来返回子查询结果。用WHERE条件查询语句查询选课中大于等于85分的记录。故本题答案为A)。[2011年3月选择题33]【答案】D【解析】题目要求查询平均成绩,表中不存在"平均成绩选择题答案】【解析】"字段,需要使用AVG函数,故A)不正确;学生表student和成绩表score都含有字段,在查询时需指明属于哪个表,B)不正确;故GROUPBY短语用于对查询结果进行分组,后跟随HAVING短语来限定分组必须满足的条件,故本题答案为D)。[2011年3月选择题34]【答案】A【解析】嵌套查询所要求的结果出自一个关系,但相关选择题答案】【解析】的条件却涉及多个关系。其内层基本上也是一个SELECT-FROM-WHERE查询语句。简单嵌套查询可使用谓词IN或NOTIN来判断在外层的查询条件中是否包含内层查询的结果。本题要查询同时选修课程号为C1和C5课程的学生的,外层查询包含了内层查询的结果。故本题答案为A)。
    45
     [2011年3月选择题35]
    【答案】A【解析】删除数据的命令格式为:DELETEFROM选择题答案】解析】TableName[WHERECondition],故C)和D)选项。题目要求删除为"20091001"且课程号为"C1"的选课记录,两个条件之间应该用AND连接。故本题答案为A)。(8)[2011年3月填空题9]【答案】最高【解析】Top10表示的含义是查询出记录集中的前填空题答案】【解析】10个记录,所以此题查询的目的是订单中最高的10%的订单信息。TOP短语要与ORDERBY短语同时使用才有效。(9)[2011年3月填空题11]【答案】PRIMARY【解析】满足实体完整性的主关键字(主填空题解析】答案】索引)为PRIMARYKEY。(10)[2011年9月选择题15]【答案】C【解析】在SQL查询命令中,SELECT给出要查询选择题答案】【解析】的数据;FROM说明要查询的数据来自哪个或哪些表;WHERE说明查询条件,即选择元组的条件;GROUPBY用来对查询结果进行分组,HAVING短语用来限定分组必须满足的
    条件;ORDERBY短语用来对查询的结果进行排序,可以按升序ASC或降序DESC进行排序。故此题选C)(11)[2011年9月选择题16]【答案】B【解析】GROUP选择题【答案】解析】BY用来对查询结果进行分组,
    HAVING必须跟在GROUPBY短语后使用,用来限定分组必须满足的条件。(12)[2011年9月选择题17]【答案】D【解析】在VisualFoxpro中,SQLSELECT有几选择题解析】答案】个特殊选项,如显示部分结果可使用TOPnExpr[PERCENT],但使用TOP应配合使用ORDERBY短语(13)[2011年9月选择题18]【答案】B【解析】删除字段的命令格式为:ALTERTABLE选择题答案】【解析】表名[DROP[COLUMN]字段名]…,其中COLUMN可以省略,故应选B)(14)[2011年9月选择题19]【答案】B【解析】在使用所有的SQL命令对表操作时不需要选择题答案】【解析】使用USE命令事先打开表,使用传统的VisualFoxpro命令对表进行操作时则必须先用USE命令打开表。(15)[2011年9月选择题23]【答案】【解析】选择题答案】解析】BSQL语句中,删除记录的命令格式为DELETEFROM表名…WHERE…,此题要求将表S中字段price的值大于30的记录删除,所以条件应为price>30,即WHEREprice>30。选项A)和C)中用来指定条件的FOR短语是错误的,应该用WHERE;选项D)中没有用FROM来指明删除的记录来自哪个表,故选B)(16)[2011年9月选择题26]【答案】C解析】正确的SQL插入命令的语法格式是INSERT选择题答案】解析】INTO<表名>[(字段名1|[字段名2,…])]VALUES[(字段值1|[字段值2,…]),选]项A)、B)、D)的命令格式不对,故
    选C)(17)[2011年9月选择题31]【答案】C【解析】SQL支持空值,同样可以利用空值进行查选择题答案】【解析】询,查询空值时要使用ISNULL,而=NULL是无效的,因为空值不是一个确定的值,所以不能用“=”这样的运算符进行比较。题中要判断“订购日期”字段是否为空值,正确的表达式是“订货日期ISNULL”。(18)[2011年9月选择题32]【答案】B【解析】查询“北京”和“上海”区域的商品信息,选择题答案】【解析】要用OR短语连接,所以选项A)和C)是错误的,选项D)中没有指明字段值“上海”来自哪个字段,故选B)。[2011年9月选择题33]【答案】A【解析】在指定连接字段时可以用WHERE指定连接条选择题答案】【解析】
    46
     件,也可以用超连接关键字JION表示普通连接,即只有满足连接条件的记录才出现在查询结果中,但JION短语必须与ON子句指定连接条件,帮C)和D)是错误的,选项B)中WHERE语句“单价=max(单价)”没有指明max(单价)这个最大值来自哪个表,故选A)[2011年9月选择题34]【答案】D【解析】按单价降序排序应在ORDERBY后跟DESC选择题答案】【解析】短语,因此排除B)和C)选项。选行多表查询时,指定两表关键字进行连接时,JION短语必须与ON短语联合使用,故选项A)错误。[2011年9月选择题35]【答案】D【解析】要查询销售金额合计超过20000的商品,首先选择题答案】【解析】要按商品名分组计算销售金额合计,然后用HAVING短语限定分组后查询的条件是销售金额合计超过20000的商品。故D)是正确的。
    47
    
    
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师