SQL练习题 一.选择题:
1 检索职工表中工资大于800元的职工号,正确的命令是() A、SELECT 职工号 WHERE 工资>800 B、SELECT 职工号 FROM 职工 SET 工资>800 C、SELECT 职工号 FROM 职工 WHERE 工资>800 D、SELECT 职工号 FROM 职工 FOR 工资>800 2 找出在仓库面积大于500的仓库中工作的职工号,以及这些职工工作所在的城市,正确的命令是() A、SELECT 职工号,城市 FROM 职工;
WHERE (面积>500).OR.(职工.仓库号=仓库.仓库号) B、SELECT 职工号,城市 FROM 职工;
WHERE (面积>500).AND.(职工.仓库号=仓库.仓库号) C、SELECT 职工号,城市 FROM 仓库,职工;
WHERE (面积>500).OR.(职工.仓库号=仓库.仓库号) D、SELECT 职工号,城市 FROM 仓库,职工;
WHERE (面积>500).AND.(职工.仓库号=仓库.仓库号) 3 利用SQL语句,检索仓库中至少有一名职工的仓库信息,正确的命令是() A、SELECT * FROM 仓库表 WHERE IN;
(SELECT 仓库号 FROM 职工表) B、 SELECT * FROM 仓库表 WHERE NOT IN; (SELECT 仓库号 FROM 职工表) C、 SELECT * FROM 仓库表 WHERE 仓库号 EXISTS;(SELECT * FROM 职工表 WHERE 仓库号=仓库表.仓库号) D、 SELECT * FROM 仓库表 WHERE EXISTS;
(SELECT * FROM 职工表 WHERE 仓库号=仓库表.仓库号)
4 从设备表中查询单价大于100000元的设备,并显示设备名称,正确的命令是() A、 SELECT 单价>100000 FROM 设备表 FOR 设备名称 B、 SELECT 设备名称FROM 设备表 FOR单价>100000 C、SELECT 单价>100000 FROM 设备表 WHERE 设备名称 D、SELECT 设备名称 FROM 设备表 WHERE 单价>100000
5 为设备表增加一个“设备总金额N(10,2)”字段,正确的命令是() A、ALTER TABLE 设备表 ADD FIELDS 设备总金额N(10,2) B、ALTER TABLE 设备表 ADD 设备总金额N(10,2) C、ALTER TABLE 设备表 ALTER FIELDS 设备总金额N(10,2) D、ALTER TABLE 设备表 ALTER 设备总金额N(10,2) 6 利用SQL数据更新功能,自动计算更新每个“设备总金额”字段的字段值,该字段值等于“单价*设备数量”的值,正确命令为() A、 UPDATE 设备表 SET 设备总金额=单价*设备数量 B、UPDATE 设备表 FOR 设备总金额=单价*设备数量 C、 UPDATE 设备表 WITH 设备总金额=单价*设备数量 D、UPDATE 设备表 WHERE 设备总金额=单价*设备数量 7 有如下SQL语句:
SELECT 使用部门,SUM(单价*设备数量)AS 总金额 FROM 设备表; WHERE .NOT.(进口); GROUP BY 使用部门
执行该语句后,第一条记录的“总金额”字段值是() A、196000 B、143000 C、294000 D、17200
8 SQL的查询结果可以存放到多种类型的文件中,下列都可以用来存放查询结果的文件类型是( ) A、临时表、视图、文本文件 B、数组、永久性表、视图 C、
永久性表、数组、文本文件 D、视图、永久性表、文本文件 9 语句“DELETE FROM 成绩表 WHERE 计算机<60”的功能是() A、物理删除成绩表中计算机成绩在60分以下的学生记录 B、物理删除成绩表中计算机成绩在60分以上的学生记录 C、逻辑删除成绩表中计算机成绩在60分以下的学生记录 D、将计算机成绩低于60分的字段值删除,但保留记录中其它字段值
10 关于SQL的超联接查询,说法错误的是() A、在SQL中可以进行内部联接、左联接、右联接和全联接 B、SQL的超联接运算符“*=”代表左联接,“=*”代表右联接 C、Visual FoxPro同样支持超联接运算符“*=”和“=*” D、利用全联接,即使两个表中的记录不满足联接条件,也会在目标表或查询结果中出现,只是不满足条件的记录对应部分为NULL
11 在SQL语句中,表达式“工资 BETWEEN 1220 AND 1250”的含义是() A、工资>1220.AND.工资<1250 B、工资>1220.OR.工资<1250 C、工资>=1220.AND.工资<=1250 D、工资>=1220.OR.工资<=1250
12 SQL语句中修改表结构的命令是() A、ALTER TABLE B、MODIFY TABLE C、ALTER STRUCTURE D、MODIFY STRUCTURE
13 删除表的SQL命令是() A、DROP TABLE B、DELETE TABLE C、ERASE TABLE D、KILL TABLE
14 在SQL语句中用于分组的短语是() A、MODIFY B、ORDER BY C、GROUP BY D、SUM
15 要为职工表的所有职工增加100元工资,正确的SQL命令是() A、REPLACE 职工 SET 工资=工资+100 B、UPDATE 职工 SET 工资=工资+100 C、EDIT 职工 SET 工资=工资+100 D、CHANGE 职工 SET 工资=工资+100 16 要为职工表的所有职工增加100元工资,正确的SQL命令是() A、UPDATE 职工 SET 工资 WITH 工资+100 B、UPDATE 工资=工资+100 FOR 职工 C、UPDATE 工资 WITH 工资+100 FOR 职工 D、UPDATE 职工 SET 工资=工资+100
17 SQL语言的核心是() A、数据查询 B、数据定义 C、数据操纵 D、数据控制
18 SQL除了数据查询的功能,还有() A、数据定义 B、数据操纵 C、数据控制 D、以上答案均正确
19 下列关于SQL语言特点叙述错误的是() A、SQL是一种一体化的语言 B、SQL是一种高度过程化的语言 C、SQL语言非常简洁 D、SQL语言可以直接以命令方式交互使用,也可嵌入到程序中使用
20 在Visual FoxPro中,SQL没有提供() A、数据查询功能 B、数据定义功能 C、数据操纵功能 D、数据控制功能
21 标准的SQL基本查询语句的结构是() A、SELECT FROM ORDER BY B、SELECT WHERE GROUP BY C、SELECT WHERE HAVING D、SELECT FROM WHERE
22 在SQL SELECT中,要将查询结果进行排序,应该使用短语 A、ORDER BY B、GROUP BY C、COUNT D、SUM
23 嵌套查询命令中的IN相当于() A、等号(=) B、集合运算符(∈) C、加号(+) D、减号(-)
24 在SQL查询中,HAVING字句的作用是() A、指出分组查询的范围 B、指出分组查询的值 C、指出分组查询的条件 D、指出分组查询的字段
25 下列利用空值查询的命令是,正确的一项是() A、IS NULL B、=NULL C、NULL D、SELECT NULL
26 下列关于别名和自联接的说法中,正确的是() A、SQL语句允许在WHERE短语中为关系定义别名 B、为关系定义别名的格式为:<别名><关系名> C、在关系的自联接操作中,别名是必不可少的 D、以上说法均正确 27 Visual FoxPro的SQL SELECT语句的联接格式能实现联接表的个数为() A、一个表 B、两个表 C、三个表 D、任意多的表
28 在显示结果时,只需要显示满足条件的前几个记录,则必须使用短语() A、TOP B、BOTTOM C、PERCENT D、BY
29 下列不属于SQL数据操作功能的是() A、新建表 B、添加记录 C、修改记录 D、删除记录 30 下列关于INSERT SQL的叙述正确的是() A、在表末尾增加一条记录 B、在表头增加一条记录 C、在表中任意位置插入一条记录 D、在表中可插入若干条记录
31 下列关于SQL对表的定义说法错误的是() A、利用CREATE TABLE语句可以定义一个新的数据表结构 B、利用SQL的表定义语句可以定义表中的主索引 C、利用SQL的表定义语句可以定义表的域完整性、字段有效性规则等 D、对于自由表的定义,SQL同样可以实现其完整性、有效性规则等信息的设置 32 若需统计“选课”表中已经选修了课程的学生人数,下面语句正确的是() A、SELECT COUNT(DISTINCT 学生号) FROM 选课 B、SELECT COUNT (学生号)FROM 选课 C、SELECT COUNT(*)FROM 选课 D、SELECT COUNT(DISTINCT *)FROM 选课
33 “学生表”的结构为(学生号N(4),姓名C(8),性别C(2),年龄N(2)),其中学号为主索引,下面可使用SQL INSERT插入到表中的记录是() A、(“1001”,“张力”,“男”,“18”) B、(1001,“张力”,NULL,18) C、(NULL,“张力”,“男”,18) D、(1001,张力,男,18) 34 SQL语言是() A、层次数据库语言 B、网状数据库语言 C、关系数据库语言 D、对立的数据库语言
35 下列查询类型中,不属于SQL查询的是() A、简单查询 B、嵌套查询 C、联接查询 D、视图查询
36 SQL中可使用通配符() A、~ B、* C、? D、第二选项和第三选项
37 在SQL的计算查询中,用于计数的函数是() A、SUM B、COUNT C、AVG D、MAX
38 下列关于SQL嵌套查询的说法,正确的是() A、既能对外层查询排序,又能对内层查询排序 B、只能对外层查询排序,不能对内层查询排序 C、不能对外层查询排序,只能对内层查询排序 D、既不能对外层查询排序,也不能对内层查询排序
39 在SQL命令中设置为全联接的短语是() A、INNER JOIN B、LEFT JOIN C、RIGHT JOIN D、FULL JOIN
40 如果要将由表派生出的视图中的字段重新命名,需要使用的短语是() A、AS B、FOR C、WHERE D、TO
41 利用SQL的CREATE命令定义一个自由表,可以定义表的() A、字段名、字段类型、字段宽度 B、字段的主索引和域完整性的约束规则 C、定义字段的有效性规则 D、以上内容均可定义
42 如果要查询工资表中,基本工资在1000~2000元之间的职工记录,则下列语句正确的是() A、SELECT * FROM 工资表 WHERE 基本工资 NOT BETWEEN 1000
AND 2000 B、SELECT * FROM 工资表 WHERE 基本工资 BETWEEN 1000~2000 C、SELECT * FROM 工资表 WHERE 基本工资 BETWEEN 1000 AND 2000 D、SELECT 工资表 FROM * WHERE BETWEEN 1000 AND 2000
43 假设有学生表和成绩表两个数据表文件,如果要查找总分在350分以上的学生姓名及名次,下列语句中正确的是() A、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>350).OR.(学生表.学号=成绩表.学号) B、SELECT 姓名,名次 FROM 学生表,成绩表 C、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>350).AND.(学生表.学号=成绩表.学号) D、SELECT 姓名,名次 FROM 学生表,成绩表 WHERE (总分>=350).AND.(学生表.学号=成绩表.学号) 44 在SQL语句中,修改表中数据的命令是() A、ALTER B、UPDATE C、DELETE D、INSERT
45 SQL的数据操作语言不包括() A、INSERT B、UPDATE C、DELETE D、CHANGE 46 在SELECT SQL语句中,条件短语的关键字是() A、FROM B、WHERE C、FOR D、CONDITION
47 如果在SQL SELECT语句的ORDER BY字句中指定了DESC,则表示() A、按升序排序 B、按降序排序 C、按索引字段排序 D、错误语句
48 用于显示部分查询结果的TOP短语,必须与下列()短语连用 A、WHERE B、ORDER BY C、FROM D、GROUP BY
49 将两个SELECT语句的查询结果合并成一个查询结果的运算符是() A、WHERE B、JOIN C、UNION D、INTO
50 在SQL的数据定义功能中,修改表结构的命令有3种,下列说法正确的是() A、3种命令格式都可以用来添加、修改和删除字段名 B、3种命令格式都可以用来定义、修改和删除字段有效性规则 C、3种命令格式都有各自的功能,不能将所有功能集于一种格式中 D、以上说法均不正确 二.填空题:
1、从职工表中检索所有的工资值,将以下命令补充完整。SELE ( ) FROM 职工 2、检索仓库表中的所有记录,将以下命令补充完整。SELE ( ) FROM 仓库 3、检索哪些仓库有工资多于1210元的职工,将以下命令补充完整。SELE ( ) 仓库号 FROM 职工 WHERE 工资>1210 4、按职工的工资值降序检索出全部职工信息,将以下命令补充完整。SELE * FROM 职工 ORDER BY 工资 ( )
5、统计供应商表中的记录数,将以下命令补充完整。SELE ( ) FROM 供应商 6、求工资总和,将以下命令补充完整。SELE ( ) FROM 职工 7、SQL支持集合的并运算,运算符是( )。 8、在SQL语句中空值用( )表示。
9、在Visual Foxpro中SQL DELETE命令是( )删除记录。 10、在SQL SELECT 中用于计算检索中的计数命令是( )。 11、在SQL SELECT 中用于计算检索中的求和命令是( )。
12、在SQL SELECT 中用于计算检索中的计算平均值命令是( )。 13、在SQL SELECT 中用于计算检索中的求最大值命令是( )。 14、在SQL SELECT 中用于计算检索中的求最小值命令是( )。
15、SQL SELECT语句为了将查询结果存放到数组中应使用的短语是INTO ( )。