结构化查询语言(SQL)
一、选择题
1. 关系数据库管理系统中的SQL语言是______。
A)关系顺序查询语言B)关系结构查询语言
C)关系描述语言D)国际标准结构化查询语言
2. 在关系数据库标准语言SQL中,实现数据检索的语句是______。
A)SELECTB)LOADC)FETCHD)SET
3. SQL语言提供______语句用于实现数据存取的安全性控制。
A)CREATE TABLEB)ODMMILC)GRANT和REVOKED)ROLLBACK
4. 在SQL语言中,ROLLBACK语句的主要作用是______。
A)终止程序B)事务结束C)保存数据D)事务回滚
5. 在下列的SQL语句中,属于数据控制语句的是______。
1. CREATE 2. SELECT 3. UPDATE 4. GRANT
5. DELETE 6. ALTER 7. INSERT 8. REVOKE
A)1,5,6,7B)4,8C)2,3,6,8D)1,5,7
6. SQL语言中的COMMIT语句的主要作用是______。
A)结束程序B)返回系统C)存储数据D)提交事务
7. 在数据库应用中,一般下一个SQL语句产生或处理户组记录,而数据库语句一次只能处理下一个记录,其操作可通过使用______来实现。
A)指针(POINTER)B)游标(CURSOR)
C)数组(DIMENSION)D)栈(STACK)
8. SQL语言具有多种优点,SQL是______年成为关系数据库语言的国际标准的。
A)1986年B)1987年C)1988年D)1989年
9. 若用如下的SQL语句创建一个表S:
CREATE TABLES(S# CHAR(6) NOT NULL,SNAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INTEGER)
向S表插入如下行时,______可以被插入。
A)('554231','四明',男,21)
B)( '723654','陈刚',NULL,NULL)
C)(NULL,'金山','男','19')
D)( '773211',NULL,'女',20)
10. 在SQL查询时,使用WHERE子句指出的是______。
A)查询目标B)查询结果C)查询条件D)查询视图
11. 在命令窗口执行SQL命令时,若命令要占用多行,续行符是______。
A)冒号(:)B)分号(;)C)逗号(,)D)连字符(-)
12. UPDATE--SQL语句的功能是______。
A)属于数据定义功能B)属于数据查询功能
C)可以修改表中某些列的属性D)可以修改表中某些列的内容
13. SELECT--SQL语句是______。
A)选择工作区语句B)数据查询语句
C)选择标准语句D)数据修改语句
14. SQL语言是______语言。
A)层次数据库B)网络数据库C)关系数据库D)非数据库
15. 在SQL中,删除视图用______。
A)DROP SCHEMA命令B)CREATE TABLE命令
C)DROP VIEW命令D)DROP INDEX命令
16. 如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作______不能执行。
职工表 部门表
职工号 职工名部门号工资部门号部门名主任
001 李红 01 580 01 人事处 高平
005 刘军 01 670 02 财务处 蒋华
025 王芳 03 720 03 教务处 许红
038 张强 02 650 04 学生处 杜琼
A)从职工表中删除行('025','王芳','03',720)
B)将行('005','乔兴','04',750)插入到职工表中
C)将职工号为'001'的工资改为700
D)将职工号为'038'的部门改为'03'
17. 在SQL中,可以用谓词UNIQUE来测试一个集合中是否______。
A)为空集合B)存在重复分量值
C)为非空集合D)存在重复元组
18. SQL的核心是______。
A)数据查询B)数据修改C)数据定义D)数据控制
19. 用SQL语句建立表时将属性定义为主关键字,应使用短语______。
A)CHECKB)PRIMARY KEYC)FREED)UNIQUE
20. SQL实现分组查询的短语是______。
A)ORDER BYB)GROUP BYC)HAVINGD)ASC
21. 用SQL语句建立表时为属性定义有效性规则,应使用短语______。
A)DEFAULTB)PRIMARY KEYC)CHECKD)UNIQUE
22. SQL语言是具有______的功能。
A)关系规范化、数据操纵、数据控制B)数据定义、数据操纵、数据控制
C)数据定义、关系规范化、数据控制D)数据定义、关系规范化、数据操纵
23. 在SQL的计算查询中,用于求平均值的函数是______。
A)AVGB)AVERAGEC)averageD)AVE
24. 不属于数据定义功能的SQL语句是______。
A)CREAT TABLEB)CREAT CURSORC)UPDATED)ALTER TABLE
25. SQL语句中修改表结构的命令是______。
A)MODIFY TABLEB)MODIFY STRUCTURE
C)ALTER TABLED)ALTER STRUCTURE
26. HAVING短语不能单独使用,必须接在______之后。
A)ORDER BYB)FROMC)WHERED)GROUP BY
27. 建立表结构的SQL命令是______。
A)CREAT CURSORB)CREAT TABLE
C)CREAT INDEXD)CREAT VIEW
28. SQL中可使用的通配符有______。
A) *(星号)B) %(百分号)C) _(下划线)D) B和C
29. 关于INSERT--SQL语句描述正确的是______。
A)可以向表中插入若干条记录B)在表中任何位置插入一条记录
C)在表尾插入一条记录D)在表头插入一条记录
30. 只有满足连接条件的记录才包含在查询结果中,这种连接为______。
A)左连接B)右连接C)内部连接D)完全连接
31. SQL语句中条件短语的关键字是______。
A)WHEREB)FORC)WHILED)CONDITION
32. SQL的查询语句中,______短语用于实现关系的投影操作。
A)WHEREB)SELECTC)FROMD)GROUP BY
33. SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是______。
A)SELECTB)INSERTC)UPDATED)DELETE
34. 用于显示部分查询结果的TOP短语,必须与______同时使用,才有效果。
A)ORDER BYB)FROMC)WHERED)GROUP BY
35. 下面有关HAVING子句描述错误的是______。
A)HAVING子句必须与GROUP BY 子句同时使用,不能单独使用
B)使用HAVING子句的同时不能使用WHERE子句
C)使用HAVING子句的同时可以使用WHERE子句
D)使用HAVING子句的作用是限定分组的条件
36. 当前盘当前目录下有数据库db_stock,其中有数据库表stock.dbf,该数据库表的内容是:
股票代码 股票名称单价交易所
600600 青岛啤酒 7.48 上海
600601 方正科技 15.20 上海
600602 广电电子 10.40 上海
600603 兴业房产 12.76 上海
600604 二纺机 9.96 上海
600605 轻工机械 14.39 上海
000001 深发展 7.48 深圳
000002 深万科 12.50 深圳
(1)执行如下SQL语句后,表stock_x中的记录个数是______。
SELECT DISTINCT 单价 FROM stock;
WHERE 单价=(SELECT min(单价) FROM stock) INTO DBF stock_x
A)1B)2C)3D)4
(2)有如下SQL语句
SELECT max(单价) INTO ARRAY a FROM stock
执行该语句后______。
A)A[1]的内容为15.20B)A[1]的内容为6
C)A[0]的内容为15.20D)A[0]的内容为6
(3)有如下SQL SELECT语句
SELECT * FROM stock WHERE 单价 BETWEEN 12.76 AND 15.20
与该语句等价的是______。
A)SELECT * FROM stock WHERE 单价<=15.20.AND.单价 >=12.76
B)SELECT * FROM stock WHERE 单价<=15.20.AND.单价 >12.76
C)SELECT * FROM stock WHERE 单价<=15.20.AND.单价 <=12.76
D)SELECT * FROM stock WHERE 单价<=15.20.AND.单价 <12.76
(4)在当前盘当前目录下删除表stock的命令______。
A)DROP stockB)DELETE TABLE stock
C)DROP TABLE stockD)DELETE stock
(5)有如下SQL语句
SELECT 股票代码,avg(单价) as 均价 FROM stock GROUP BY 交易所 INTO DBF temp
执行该语句后temp表中第二条记录的"均价"字段的内容是_____。
A)7.48B)9.99C)11.73D)15.20
(6)有如下SQL语句
CREATE VIEW stock_view AS SELECT * FROM stock WHERE 交易所="深圳"
执行该语句后产生的视图包含的记录个数是______。
A)1B)2C)3D)4
(7)将stock表的股票名称字段的宽度由8改为10,应使用SQL语句______。
A)ALTER TABLE stock 股票名称 WTIH C(10)
B)ALTER TABLE stock 股票名称 C(10)
C)ALTER TABLE stock ALTER 股票名称 C(10)
D)ALTER stock ALTER 股票名称 C(10)
37. 设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
(1)对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是______。
SELECT 单位,______ FROM 借阅,读者 WHERE
借阅.借书证号=读者.借书证号 ______
A)COUNT(借阅.借书证号) GROUP BY 单位
B)SUM(借阅.借书证号) GROUP BY 单位
C)COUNT(借阅.借书证号) ORDER BY 单位
D)COUNT(借阅.借书证号) HAVING 单位
(2)对于图书管理数据库,求CIE单位借阅图书的读者的人数。
下面SQL语句正确的是______。
SELECT ______ FROM 借阅 WHERE 借书证号 _______
A)COUNT (DISTINCT 借书证号) IN (SELECT 借书证号 FROM 读者 WHERE
单位="CIE")
B)COUNT(DISTINCT 借书证号) IN (SELECT 借书证号 FROM 借阅 WHERE
单位="CIE")
C)SUM(DISTINCT 借书证号) IN (SELECT 借书证号 FROM 读者 WHERE
单位="CIE")
D)SUM (DISTINCT 借书证号) IN (SELECT 借书证号 FOR 借阅 WHERE
单位="CIE")
(3)对于图书管理数据库,检索当前至少借阅了2本图书的读者的姓名和所在单位。下面SQL语句正确的是______。
SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN______
A)(SELECT 借书证号 FROM 借阅 GROUP BY 总编号 HAVING COUNT(*)>=2)
B)(SELECT 借书证号 FROM 读者 GROUP BY 借书证号 HAVING COUNT(*)>=2)
C)(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING SUM(*)>=2)
D)(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)>=2)
(4)对于图书管理数据库,求电子工业出版社出版图书的最高单价、最低单价和平均单价。下面SQL语句正确的是______。
SELECT ______ FROM 图书;
WHERE 出版单位="电子工业出版社"
A)MAX(单价),MIN(单价),AVG(单价)
B)MAX(单价),MIN(单价),AVERAGE(单价)
C)MAX(单价),MIX(单价),AVG(单价)
D)MAX(单价),SUM(单价),AVG(单价)
(5)对于图书管理数据库,查询所藏图书中,有两种及两种以上的图书出版社所出版图书的最高单价和平均单价。下面SQL语句正确的是______。
SELECT 出版单位,MAX(单价),AVG(单价) FROM 图书 ______
A)GROUP BY 出版单位 HAVING COUNT 总编号>=2
B)GROUP BY 出版单位 HAVING COUNT(DISTINCT 总编号)>=2
C)GROUP BY 出版单位>=2
D)WHERE 总编号>=2
(6)对于图书管理数据库,如下的SQL命令:
SELECT 书名,作者,出版单位 FROM 图书管理!图书;
WHERE 出版单位="高等教育出版社" OR 出版单位="电子工业出版社"
其中,SELECT后的书名、作者和出版单位所对应的关系操作是______。
A)投影操作B)连接C)选择D)合并
二、填空题
1. 关系语言的特点是高度______,也就是只要说明“做什么”而不用说明“怎么做”。
2. 在SELECT-SQL语句中,表示条件表达式用WHERE子句,分组用______子句,排序用______子句。
3. SQL可以控制视图的______方法。
4. 在SQL中,测试列值是否为空值用______运算符号,测试列值是否为非空值用______运算符号。
5. 在SQL中,用______子句消除重复出现的元组。
6. 在SQL中,ALTER命令有两个选择项,_____子命令用于修改字段名,_____子命令用于增加新的字段。
7. 自然连接是去掉重复属性的_______连接。
8. 在SQL中,字符串匹配运算符用______;匹配符______表示零个或多个字符,______表示任何一个字符。
9. SQL SELECT语句为了将查询结果存放到临时表中应该使用_____短语。
10. 在SQL语句中空值用______表示。
11. 在SQL中,用______命令可以从表中删除行,用______命令可以从数据库中删除数据表。
12. ______是指只有满足连接条件的记录才包含在查询结果中。
13. SQL支持集合的并运算,运算符是______。
14. 设有如下关系表R:R(NO,NAME,SEX,AGE,CLASS),主关键字是NO
其中NO为学号(数值型),NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。
(1)插入"95031"班学号为30,姓名为"郑和"的学生记录;______。
(2)删除学号为20的学生记录;______。
(3)将学号为10的学生姓名改为"王华";______。
(4)删除姓"王"的学生记录_______。
15. 设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
(1)用SQL的CREATE命令建立借阅表(字段顺序要相同),请用SQL语句填空:______。
(2)对于图书管理数据库,查询每类图书的册数和平均单价。请对下面的SQL语句填空:
SELECT 分类号,______FROM 图书,______ 分类号。
(3)对于图书管理数据库,要查询只借阅了一本图书的读者姓名和职称,请对下面的SQL语句填空:
SELECT 姓名,职称 FROM 图书管理!读者
WHERE 借书证号 ______ (SELECT 借书证号 FROM 图书管理!借阅);
GROUP BY ______ HAVING ______。
(4)为图书管理数据库的读者表增加工资属性(N(8,2))。请对下面的SQL语句填空:
_______。
(5)对于图书管理数据库的读者表,为工资属性增加有效性规则(工资大于等于0)和出错提示信息(工资应该大于等于0!)。请对下面的SQL语句填空:
ALTER TABLE 读者 ALTER 工资 ______。
(6)对于图书管理数据库,查询每类图书中多于1册的册数和平均单价。请对下面的SQL语句填空:
SELECT 分类号,COUNT(*),AVG(单价) FROM 图书_______ 分类号 _______。
(7)对图书管理数据库,查询图书表中的所有元组。请对下面的SQL语句填空:
______。
(8)对图书管理数据库,查询所有已借出的书名。请对下面的SQL语句填空:
SELECT 书名 FROM 图书WHERE 总编号 ______。
(9)对于图书管理数据库,检索书名是以"Internet"开头的所有图书书名和作者。请对下面的SQL语句填空:
SELECT 书名,作者 FROM 图书 WHERE ______。
(10)对于图书管理数据库,检索没有借阅任何图书的读者姓名和所在单位。请对下面的SQL语句填空:
SELECT 姓名,单位 FROM 读者 WHERE _______;
(SELECT * FROM 借阅 WHERE ______)。
(11)对图书管理数据库,删除借阅表的候选索引hsxy。请对下面的SQL语句填空:
ALTER TABLE 借阅 ______。
(12)如果要查询借阅了两本和两本以上图书的读者姓名和单位,请对下面SQL语句填空。
SELECT 姓名,单位 FROM 图书管理!读者;
WHERE 借书证号 IN
(SELECT______FROM 图书管理!借阅 GROUP BY 借书证号 _____COUNT(*)>=2)
(13)对于图书管理数据库,查询与"005"号借书证借有相同书的借书证号。请对下面的SQL语句填空:
SELECT DISTINCT 借书证号 FROM 借阅 WHERE 总编号 ______。
(14)对图书管理数据库,将读者表中的借书证号属性名改为书证号。请对下面的SQL语句填空:
ALTER TABLE 读者 ______。
(15)对图书管理数据库的借阅表,将借书证号和总编号定义为借阅表的候选索引,索引名是hxsy。请对下面的SQL语句填空:
ALTER TABLE 借阅 ______。
(16)对于图书管理数据库,将图书表中电子工业出版社的图书的单价涨价10%。对下面的SQL语句填空:
UPDATE 图书 ______ WHERE 出版单位="电子工业出版社"
(17)有如下SQL语句:
SELECT 读者.姓名,读者.职称,图书.书名,借阅.借书日期;
FROM图书管理!读者,图书管理!借阅,图书管理!图书;
WHERE借阅.借书证号=读者.借书证号 AND 图书.总编号=借阅.总编号
其中WHERE子句中的"借阅.借书证号=读者.借书证号"对应的关系操作是 _____。