1、关系数据库标准语言SQL真题及解析洞庭软件园培训专用资料第四章 关系数据库标准语言SQL41 2005年笔试真题(1) 在Visual FoxPro中,下列关于删除记录的描述中正确的是( )2005年4月选择题17A) SQL的DELETE命令在删除数据库表中的记录之前,不需要用USE命令打开表B) SQL的DELETE命令和传统Visual FoxPro的DELETE命令在删除数据库表中的记录之前,都需要用USE命令打开表C) SQL的DELETE命令可以物理地删除数据库表中的记录,而传统Visual FoxPro的DELETE命令只能逻辑删除数据库表中的记录D) 传统Visual FoxP
2、ro的DELETE命令在删除数据库表中的记录之前不需要用USE命令打开表(2) 使用SQL语句将学生表S中年龄(AGE)大于30岁的记录删除,正确的命令是( )2005年4月选择题24A) DELETE FOR AGE30 B) DELETE FROM S WHERE AGE30C) DELETE S FOR AGE30 D) DELETE S WHERE AGE30(3) 在Visual FoxPro中,删除数据库表S的SQL命令是( )2005年4月选择题26A) DROP TABLE S B) DELETE TABLE SC) DELETE TABLE SDBF D) DRASE TAB
3、LE S(4) 使用SQL语句向学生表S(SNO,SN,AGE,SEX)中添加一条新记录,字段学号(SNO)、姓名(SN)、性别(SEX)、年龄(AGE)的值分别为0401、王芳、女、18,正确命令是( )2005年4月选择题28A) APPEND INTO S(SNO, SN, SEX, AGE) VALUES(0401,王芳,女,18)B) APPEND S VALUES(0401,王芳,18,女)C) INSERT INTO S(SNO,SN,SEX,AGE)VALUES(0401,王芳,女,18)D) INSERT S VALUES(0401,王芳,18,女)(5) 在SQL的SELE
4、CT查询结果中,消除重复记录的方法是( )2005年4月选择题30A) 通过指定主关键字 B) 通过指定惟一索引C) 使用DISTINCT子句 D) 使用HAVING子句(6) 在Visual FoxPro中,以下关于SQL的SELECT语句的描述中错误的是( )2005年4月选择题31A) SELECT子句中可以包含表中的列和表达式B) SELECT子句中可以使用别名C) SELECT子句规定了结果集中的列顺序D) SELECT子句中列的顺序应该与表中列的顺序一致(7) 下列关于SQL的HAVING子句的描述中错误的是( )2005年4月选择题32A) HAVING子句必须与GROUP BY
5、子句同时使用B) HAVING子句与GROUP BY子句无关C) 使用WHERE子句的同时可以使用HAVING子句D) 使用HAVING子句的作用是限定分组的条件(8) 使用如下三个数据库表:学生表:S(学号,姓名,性别,出生日期,院系)课程表:C(课程号,课程名,学时)选课成绩表:SC(学号,课程号,成绩)在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。2005年4月选择题34用SQL语句查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是( )A) SELECT 学号,姓名 FROM S WHERE NOT EXISTS;(SELECT *F
6、ROM SC WHERE SC学号=S学号 AND 成绩=85)C) SELECT 学号,姓名 FROM S,SCWHERE S学号=SC学号 AND 成绩=85D) SELECT 学号,姓名 FROM S,SCWHERE S学号=SC学号 AND ALL 成绩=852005年4月选择题35用SQL语句检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是( )A) SELECT S学号,姓名,平均成绩FROM S,SC;WHERE S学号=SC学号;GROUP BY S学号 HAVING COUNT(*)=5 ORDER BY 平均成绩 DESCB)
7、 SELECT 学号,姓名,AVG(成绩)FROM S,SC;WHERE S学号=SC学号 AND COUNT(*)=5;GROUP BY 学号 ORDER BY 3 DESCC) SELECT S学号,姓名(成绩) 平均成绩FROM S,SC;WHERE S学号=SC学号 AND COUNT(*)=5;GROUP BY S学号 ORDER BY 平均成绩 DESCD) SELECT S学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;WHERE S学号=SC学号;GROUP BY S学号 HAVING COUNT(*)=5 ORDER BY 3 DESC(9) 使用如下三个数据库表:
8、金牌榜dbf:国家代码 C(3),金牌数I,银牌数I,铜牌数I获奖牌情况dbf:国家代码C(3),运动员名称C(20),项目名称C(30),名次I国家dbf:国家代码C(3),国家名称C(20)金牌榜表中一个国家一条记录;获奖牌情况表中每个项目中的各个名次都有一条记录,名次只取前3名,例如:国家代码运动员名称项目名称名次001刘翔男子110米栏1001李小鹏男子双杠3002菲尔普斯游泳男子200米自由泳3002菲尔普斯游泳男子400米个人混合泳1001郭晶晶女子三米板跳板1001李婷/孙甜甜网球女子双打12005年4月填空题11为表金牌榜增加一个字段奖牌总数,同时为该字段设置有效性规则:奖牌总
9、数=0,应使用SQL语句:ALTER TABLE 金牌榜 奖牌总数I 奖牌总数=0。2005年4月填空题12使用获奖牌情况和国家两个表查询中国所获金牌(名次为1)的数量,应使用SQL语句:SELECT COUNT(*) FROM 国家 INNER JOIN 获奖牌情况; 国家国家代码 = 获奖牌情况国家代码;WHERE 国家国家名称=中国 AND 名次=12005年4月填空题13将金牌榜dbf中的新增加的字段奖牌总数设置为金牌数、银牌数、铜牌数三项的和,应使用SQL语句: 金牌榜 奖牌总数=金牌数+银牌数+铜牌数(10) 使用如下三个数据库表:职员dbf:职员号C(3),姓名C(6),性别C(
10、2),组号N(1),职务C(10)客户dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)订单dbf:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(62)2005年9月选择题29查询金额最大的10%订单的信息,正确的SQL语句是( )A) SELECT * TOP 10 PERCENT FROM 订单B) SELECT TOP 10% * FROM 订单 ORDER BY金额C) SELECT * TOP 10 PERCENT FROM 订单 ORDER BY 金额D) SELECT TOP 10 PERCENT * FROM 订单 ORDER B
11、Y 金额 DESC2005年9月选择题30查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是( )A) SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)3 AND AVG_金额200B) SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)3 AND AVG(金额)200C) SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)3 AND WHERE AVG(金额)200D) SELECT 职员号 FROM 订单 GROUP BY 职员号
12、 WHERE COUNT(*)3 AND AVG_金额2002005年9月选择题31查询2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确的SQL语句是( )A) SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户;ON 订单客户号=客户客户号 WHERE 签订日期2005-1-1B) SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户;WHERE 订单客户号=客户客户号 AND 签订日期2005-1-1C) SELECT 订单号,客户名,签订日期 FROM 订单,客户;WHERE 订单客户号=客户客户号 AND 签订日期2005
13、-1-1D) SELECT 订单号,客户名,签订日期 FROM 订单,客户;ON 订单客户号=客户客户号 AND 签订日期2005-1-12005年9月选择题32查询没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是( )A) SELECT 职员职员号,姓名 FROM 职员 JOIN 订单;ON 订单职员号=职员职员号 GROUP BY 职员职员号 HAVING COUNT(*)=0B) SELECT 职员职员号,姓名 FROM 职员 LEFT JOIN 订单;ON 订单职员号=职员职员号 GROUP BY 职员职员号 HAVING COUNT(*)=0C) SELECT 职员号,
14、姓名 FROM 职员;WHERE 职员号 NOT IN(SELECT 职员号 FROM 订单)D) SELECT 职员职员号,姓名 FROM 职员;WHERE 职员职员号 (SELECT 订单职员号 FROM 订单)2005年9月选择题33有如下SQL语句:SELECT 订单号,签订日期,金额 FROM 订单,职员;WHERE 订单职员号=职员职员号 AND 姓名=李二与如上语句功能相同的SQL语句是( )A) SELECT 订单号,签订日期,金额 FROM 订单;WHERE EXISTS(SELECT * FROM 职员 WHERE 姓名=李二)B) SELECT 订单号,签订日期,金额 F
15、ROM 订单 WHERE;EXISTS(SELECT * FROM 职员 WHERE 职员号=订单职员号 AND 姓名=李二)C) SELECT 订单号,签订日期,金额 FROM 订单;WHERE IN (SELECT 职员号 FROM 职员 WHERE 姓名=李二)D) SELECT 订单号,签订日期,金额 FROM 订单 WHERE IN;(SELECT 职员号 FROM 职员 WHERE 职员号=订单职员号 AND 姓名=李二)2005年9月选择题34从订单表中删除客户号为1001的订单记录,正确的SQL语句是( )A) DROP FROM 订单 WHERE 客户号=1001B) DRO
16、P FROM 订单 FOR 客户号=1001C) DELETE FROM 订单 WHERE 客户号=1001D) DELETE FROM 订单 FOR 客户号=10012005年9月选择题35将订单号为0060的订单金额改为169元,正确的SQL语句是( )A) UPDATE 订单 SET 金额=169 WHERE 订单号=0060B) UPDATE 订单 SET 金额WITH 169 WHERE 订单号=0060C) UPDATE FROM 订单 SET 金额=169 WHERE 订单号=0060D) UPDATE FROM 订单 SET 金额 WITH 169 WHERE 订单号=0060
17、(11) 在SQL的SELECT 查询中使用 子句消除查询结果中的重复记录。2005年9月填空题9(12) 在Visual FoxPro中,使用SQL的SELECT语句将查询结果存储在一个临时表中,应该使用 子句。2005年9月填空题11(13) 在Visual FoxPro中,使用SQL的CREATE TABLE语句建立数据库表时,使用 子句说明主索引。2005年9月填空题12(14) 在Visual FoxPro中,使用SQL的CREATE TABLE语句建立数据库表时,使用 子句说明有效性规则(域完整性规则或字段取值范围)。2005年9月填空题13(15) 在SQL的SELECT语句进行
18、分组计算查询时,可以使用 子句来去掉不满足条件的分组。2005年9月填空题14(16) 设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。2005年9月填空题15SELECT 学号,姓名,性别 FROM s;WHERE (SELECT * FROM sc WHERE sc学号=s学号 AND 成绩3 AND AVG_金额200B) SELECT职员号FROM订单;GROUP BY职员号HAVING COUNT(*)3 AND AVG(金额)200C) SELECT职员号FROM订单;GR
19、OUP BY职员号HAVING COUNT(*)3 WHERE AVG(金额)200D) SELECT职员号FROM订单;GROUP BY职员号WHERE COUNT(*)3 AND AVG_金额200(5) 要使产品表中所有产品的单价上浮8,正确的SQL语句是( )2006年4月选择题31A) UPDATE产品SET单价=单价+单价*8FOR ALLB) UPDATE产品SET单价=单价*108 FOR ALLC) UPDATE产品SET单价=单价+单价*8D) UPDATE产品SET单价=单价*108(6) 假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是( )2
20、006年4月选择题32A) SELECT产品名称,AVG(单价)FROM产品GROUP BY单价B) SELECT产品名称,AVG(单价)FROM产品ORDER BY单价C) SELECT产品名称,AVG(单价)FROM产品ORDER BY产品名称D) SELECT产品名称,AVG(单价)FROM产品GROUP BY产品名称(7) 设有S(学号,姓名,性别)和SC(学号,课程号,成绩)两个表,用下列SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是( )2006年4月选择题34A) SELECT学号,姓名,性别FROM s WHERE EXISTS;(SEL
21、ECT*FROM sc WHERE sc学号=s学号AND成绩=85)B) SELECT学号,姓名,性别FROM s WHERE NOT EXISTS;(SELECT*FROM sc WHERE sc学号=s学号AND成绩85)D) SELECT学号,姓名,性别FROM s WHERE NOT EXISTS;(SELECT*FROM sc WHERE sc学号=s学号AND成绩85)(8) 从订单表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的SQL语句是( )2006年4月选择题35A) DROP FROM订单WHERE签订日期=2004-1-10B) DROP FROM订
22、单FOR签订日期=2004-1-10C) DELETE FROM订单WHERE签订日期=2004-1-10D) DELETE FROM订单FOR签订日期9.00) OR 最后得分=800 AND 最后得分900 OR 最后得分800D) SELECT * FROM 歌手 WHERE 最后得分=900 2006年9月选择题29 为“评分”表的“分数”字段添加有效性规则:“分数必须大于等于0并且小于等于10”,正确的SQL语句是( )A) CHANGE TABLE 评分ALTER 分数 SET CHECK 分数=0 AND 分数=0 AND 分数=0 AND 分数=0 OR 分数=10 2006年9月选择题30根据“歌手”表建立视图myview,视图中含有包括了“歌手号”左边第一位是“1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1