数据库考试SQL习题大全

更新时间:2024-02-27 18:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2010年上半年关系数据库标准语言SQL练习

1.SQL是( )英文单词的缩写。 A.Standard Query Language 2.

C. Select Query Language

标准SQL基本查询模块的结构是( )。 A.SELECT?FROM?ORDER BY C.SELECT?WHERE?HAVING

B. Structured Query Language D. 以上都不是

B. SELECT?WHERE?GROUP BY D. SELECT?FROM?WHERE

3.在SQL的SELECT查询结果中,消除重复记录的方法是( )。 A.通过指定主关系键 B. 通过指定惟一索引

C.使用DISTINCT子句 D. 使用HAVING子句

4.使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是( )。

A. SELECT*FROM STUDENT WHERE LEFT(姓名,2)=”王” B. SELECT*FROM STUDENT WHERE RIGHT(姓名,2)=”王” C. SELECT*FROM STUDENT WHERE TRIM(姓名,2)=”王”

D. SELECT*FROM STUDENT WHERE STR(姓名,2)=”王”

5.查询订购单号(字符型,长度为4)尾字符是”1”的错误命令是( )。

A.SELECT*FROM 订单 WHERE SUBSTR(订购单号,4)=”1” B. SELECT*FROM 订单 WHERE SUBSTR(订购单号,4,1)=”1” C. SELECT*FROM 订单 WHERE “1”$订购单号

D. SELECT*FROM 订单 WHERE RIGHT(订购单号,1)=”1”

6.在SQL SELECT语句中用于实现关系的选择运算的短语是( )。 A.FOR B. WHILE C. WHERE 7. 在SELECT语句中,用来指定查询所用的表的子句是( ). 8.

D. CONDITION

A. WHERE B. GROUP BY C. ORDER BY D. FROM 使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( )。 A.使用WHERE子句 B. 在GROUP BY后面使用HAVING子句 C. 先使用WHERE子句,再使用HAVING子句 D. 先使用HAVING子句,再使用WHERE子句

9.本题使用下列两个数据表: 学生.DBF: 学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF: 学号(C,8),课程号(C,3),成绩(N,5,1) 查询所有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 性别=”男” SELECT jg FROM student

请选出正确的选项完成该语句( )。

D. DISTINCT

10. 若要从学生表中检索出jg 并去掉重复记录,可使用如下SQL语句

A.ALL B. * C. ?

11. 下列关于SQL中HAVING子句的描述,错误是的( )。

A.HAVING子句必须与GROUP BY子句同时使用 B.HAVING子句与GROUP BY子句无关

C.使用WHERE子句的同时可以使用HAVING子句 D.使用HAVING子句的作用是限定分组的条件

- - 1 - -

12.SQL的SELECT语句中,“HAVING<条件表达式>”用来筛选满足条件的( )。 A.列 B. 行 C. 关系 D. 分组

13.一条没有指明去向的SQL SELECT语句执行之后,会把查询结果显示在屏幕上,要退出这个查询窗口,应该按的键是( )。 A.ALT B. Delete C. Esc 14.以下有关SELECT短语的叙述中错误的是( )。 A.SELECT短语中可以使用别名 B. SELECT短语中只能包含表中的列及其构成的表达式

D. Return

C.SELECT短语规定了结果集中的列顺序

D.如果FROM短语引用的两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀

加以限定

15.在表ticket中查询所有票价小于100元的车次、始发站和终点信息的命令是( )。

A.SELECT*FROM ticket WHERE 票价<100

B.SELECT车次、始发站、终点FROM ticket WHERE 票价>100 C.SELECT车次、始发站、终点FROM ticket WHERE 票价<100

D.SELECT*FROM ticket WHERE 票价>100

16.在SQL语句中,与表达式“供应商名LIKE”%北京%””功能相同的表达式是( )。

A.LEFT(供应商名,4)=”北京” C. 供应商名IN” %北京%”

B. ”北京”$供应商名 D. AT(供应商名, ”北京”)

17.SQL SELECT语句中的特殊运算符不包括( )。

A.BETWEEN B. AND C. OR D. LIKE

18.在SQL语句中,与表达式“年龄BETWEEN 12 AND 46”功能相同的表达式是( )。

A.年龄 >= 12 OR <= 46

C. 年龄 >= 12 OR 年龄 <= 46

B. 年龄 >= 12 AND <= 46

D. 年龄 >= 12 AND 年龄 <= 46

19.在SQL语句中空值用 表示。

20.SQL支持集合的并运算,在Visual FoxPro中SQL并运算的运算符是( )。 A.PLUS B. UNION C. + D. 21.下列关于SQL的并运算,说法不正确的一项是( )。

A.集合的差运算,即UNION,是指将两个SELECT语句的查询结果通过合并运算合并成一个查询结果。 B.集合的并运算,即UNION,是指将两个以上SELECT语句的查询结果通过合并运算合并成一个查询结果。 C.进行并运算要求两个查询结果具有相同的字段的数据,并且对应的字段的值要出自同一个值域 D.两个查询结果要具有相同的数据类型和取值范围。 22.求每个终点的平均票价的SQL语句是( )。 A.SELECT 终点,avg(票价) FROM ticket GROUP BY 票价

B.SELECT 终点,avg(票价) FROM ticket ORDER BY 票价 C.SELECT 终点,avg(票价) FROM ticket ORDER BY 终点 D.SELECT 终点,avg(票价) FROM ticket GROUP BY 终点

23.从职工数据库表中计算工资合计的SQL语句是: SELECT FROM 职工 24.统计学生总人数,请写出下面SELECT语句的完整形式:

SELECT FROM student 25.在SQL的SELECT语句中用于计算检索的函数有COUNT、 、 、MAX和MIN。 26.本题使用下列两个数据表:

- - 2 - -

学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)

计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是( )。 A.SELECT AVG(成绩)FROM 选课WHERE姓名=”刘明”

B.SELECT AVG(成绩)FROM 学生,选课WHERE姓名=”刘明” C.SELECT AVG(成绩)FROM 学生,选课WHERE 学生.姓名=”刘明” D.SELECT AVG(成绩)FROM 学生,选课WHERE 学生.学号=选课.学号AND姓名=”刘明” 27.假定学号的3、4位为专业代码。要计算各专业学生选修课程号为“101”课程的平均成绩,正确的SQL语句是( )。 A.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM 选课

WHERE 课程号=”101”GROUP BY 专业

B.SELECT SUBS(学号,3,2)AS 专业,AVG(成绩)AS平均分FROM选课 WHERE 课程号=”101”GROUP BY 1

C.SELECT SUBS(学号,3,2)AS 专业,AVG(成绩)AS平均分FROM选课 WHERE 课程号=”101”GROUP BY 专业 D.A.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM 选课 WHERE 课程号=”101”GROUP BY 1

28.设有学生选课表SC(学号,课程号,成绩),用SQL语言检索每门课程的课程号及平均分的语句是(关键字必须拼写完整):SELECT课程号,AVG(成绩)AS平均分FROM SC 。 29.Visual FoxPro中用于计算机检索的函数中, 用于计数, 用来求和, 用于求平均值, 用于求最大值, 用于求最小值。

30.在SQL SELECT语句中将查询结果存放在一个表中应该使用 子句(关键字必须拼写完整)。

31.将查询结果存放到数组中的短语是 。

32.在学生表中查询至少选了一门课的同学,请使用谓词填空。 SELECT*FROM XS WHERE ;

(SELECT*FROM 选课 WHERE 学生号= )

33.设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。 SELECT 学号,姓名,性别 Forms WHERE (SELECT*FROM sc WHERE sc.学号=s.学号 AND 成绩<85) 34.在SQL语名: SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=;

ALL(SELECT 工资 FROM 教师 WHERE 系号=”02”) 与如上语句等价的SQL语句是( )。

A. SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; (SELECT MAX(工资)FROM 教师 WHERE 系号=”02”) B. SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; (SELECT MIN(工资)FROM 教师 WHERE 系号=”02”) C. SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; ANY(SELECT 工资 FROM 教师 WHERE系号=”02”) D. SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; SOME(SELECT 工资 FROM 教师 WHERE系号=”02”) 35.SQL命令中用于插入数据的命令是( )。

A.INSERT

B. APPEND D. INSERT INTO

C. INSERT BEFORE

- - 3 - -

36.本题使用如下数据表: 学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)

选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)

插入一条记录到”选课”表中,学号、课程号和成绩分别是“02080111”、“103”和“80”,正确的

SQL语句是( )。 A.INSERT INTO 选课 VALUES(”02080111”,”103”,80) B.INSERT VALUES(”02080111”,”103”,80)TO选课(学号,课程号,成绩) C.INSERT VALUES(”02080111”,”103”,80)INTO选课(学号,课程号,成绩)

D.INSERT INTO 选课(学号,课程号,成绩)FROM VALUES(”02080111”,”103”,80) 37.要在“成绩”表中插入一条记录,应该使用的SQL语句是:

成绩(学号,英语,数学,语文)VALUES(”200110011”,91,78,86) 38.要使“产品”表中所有产品的单价上浮8%,正确的SQL命令是( )。

A.UPDATE 产品 SET 单价=单价+单价*8% FOR ALL B.UPDATE 产品 SET 单价=单价+单价*1.08 FOR ALL C.UPDATE 产品 SET 单价=单价+单价*8%

D.UPDATE 产品 SET 单价=单价+单价*1.08 39.本题使用如下两个数据表:

学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)

将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是( )。 A.UPDATE 选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102” B.UPDATE 选课SET成绩=92 WHERE学号=”02080110”AND课程号=”102” C. UPDATE FROM选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102” D.UPDATE FROM选课SET成绩=92 WHERE学号=”02080110”AND课程号=”102”

“教师”表

职工号 姓名 职称 年龄 工资 系号 11020001 肖天海 副教授 35 2000.00 01 11020002 王岩盐 教授 40 3000.00 02

使用SQL语句完成如下操作(将所有教授的工资提高5%) update 教师 SET 工资=工资*1.05 职称=”教授”

41.DELETE FROM职工工龄WHERE 工龄<8语句的功能是( )。 A.物理删除工龄在8年以下的记录 B. 彻底删除工龄在8年以下的记录

C.删除职工工龄表 D.为表中工龄小于8年以下的记录添加删除标记

40.本题使用如下“教师”表:

42.从“订单”表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的SQL语句是( )。

A.DROP FROM 订单 WHERE 签订日期<={^2004-1-10} B.DROP FROM 订单 FOR 签订日期<={^2004-1-10}

C.DELETE FROM 订单 WHERE 签订日期<={^2004-1-10}

D.DELETE FROM 订单 FOR 签订日期<={^2004-1-10}

43.SQL插入记录的命令是INSERT,删除记录的命令是 ,修改记录的命令是 。 44.“图书”表中有字符型字段 “图书号”。要求用SQL DELETE命令将图书号以字母A开头的图书记录全部打上删除标记,正确的命令是( )。

A.DELETE FROM 图书 FOR 图书号 LIKE”A%” B.DELETE FROM 图书 WHILE 图书号 LIKE”A%”

- - 4 - -

C.DELETE FROM 图书 WHERE 图书号=”A*”

D.DELETE FROM 图书 WHERE 图书号LIKE”A%”

45.第(1)、(2)小题使用如下表的数据:

部 门 表

部门号 40 10 20 30 商 品 表

部门号 40 40 40 20 40 20 20 40 30 30 商品号 0101 0104 0105 1032 0107 0110 0112 0202 1041 0204 商品名称 A牌电风扇 A牌微波炉 B牌微波炉 C牌传真机 D牌微波炉-A A牌电话机 B牌手机 A牌电冰箱 B牌计算机 C牌计算机 单价 200.00 350.00 600.00 1000.00 420.00 200.00 2000.00 3000.00 6000.00 10000. 00 数量 10 10 10 20 10 50 10 2 10 10 产地 广东 广东 广东 上海 北京 广东 广东 广东 广东 上海 部门名称 家用电器部 电视录摄像机部 电话手机部 计算机部 (1) SQL语句: SELECT部门号,MAX(单价*数量)FROM 商品表 GROUP BY 部门号

查询结果有( )条记录。

D. 10

A.1 B. 4 C. 3 (2) SQL语句: SELECT 产地,COUNT(*)提供的商品种类数; FROM 商品表;

WHERE 单价>200;

GROUP BY 产地 HAVING COUNT(*)>=2;

ORDER BY 2 DESC

查询结果的第一条记录的产地和提供的商品种类数是( )。 A.北京,1

B.上海,2

C. 广东,5

D. 广东,7

46.关于SQL嵌套查询的说法正确的是( )。 A.能对外层查询排序,又能对内层查询排序

B.能对外层查询排序,不能对内层查询排序 C.不能对外层查询排序,只能对内层查询排序

D.既不能对外层查询排序,也不能对内层查询排序 47.联接查询是基于( )的查询。

A.一个表

B. 两个表

C. 多个关系

D. 有一个关联的表 D. FULL JOIN

48.在对SELECT-SQL 命令中的设置为内部联接的是( )。 A.INNER JOIN B. LEFT JOIN C.RIGHT JOIN

49.若要在表“职工”和“工龄”中查找008号职工的工资,下列语句正确的是( )。 A.SELECT 职工号,姓名,工资 FROM 职工 JOIN 工龄;

- - 5 - -

WHERE 职工号=008;

本文来源:https://www.bwwdw.com/article/oaqa.html

Top