- 2.52 MB
- 2021-05-10 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
1.
在创建表时,可以为列指定默认值。请判断对错。
标记为待复查
(1) 分数
对 (*)
错
正确
2.
用户可以为表中的列指定默认值。如果插入行时没有为该列指定值,此选项可防止自动为该列指定 NULL 值。请判断对错。
标记为待复查
(1) 分数
对 (*)
错
不正确。请参阅第 7 部分第 3 课。
3.
假定某列可接受 Null 值,如何使用 INSERT 语句在该列中隐式插入一个 Null 值?
标记为待复查
(1) 分数
使用 NULL 关键字。
使用 ON 子句
在列的列表中省略该列。 (*)
不能在列中隐式插入 Null 值。
不正确。请参阅第 7 部分第 1 课。
4.
“产品”表包含以下列:
产品标识 NUMBER NOT NULL
产品名称 VARCHAR2 (25)
供应商标识 NUMBER NOT NULL
价目表价格 NUMBER (7,2)
成本 NUMBER (5,2)
存货数量 NUMBER(4)
最近订单日期 DATE DEFAULT SYSDATE NOT NULL
以下哪条 INSERT 语句将成功执行?
标记为待复查
(1) 分数
INSERT INTO 产品
VALUES (2958, 'Cable', 8690, 7.09, 4.04, 700);
(*)
INSERT INTO 产品
VALUES (2958, 'Cable', 8690, 7.09, 4.04, SYSDATE);
INSERT INTO 产品(产品标识, 产品名称)
VALUES (2958, 'Cable');
INSERT INTO 产品(产品标识, 产品名称, 供应商标识
VALUES (2958, 'Cable', 8690, SYSDATE);
正确
5.
您需要向现有表中添加一行。应该使用哪个 DML 语句?
标记为待复查
(1) 分数
UPDATE
INSERT (*)
DELETE
CREATE
正确
6.
您得到指示,要向“顾客”表添加一位新顾客。因为这位新顾客还没有接受信用核查,所以您不能向“信用”列添加金额。
“顾客”表包含以下列:
顾客标识 NUMBER(10)
公司 VARCHAR2(30)
信用 NUMBER(10)
POC VARCHAR2(30)
地点 VARCHAR2(30)
以下哪两条 INSERT 语句能够达到您的目的?
标记为待复查
(1) 分数
(选择所有正确答案)
INSERT INTO 顾客 (顾客标识, 公司, POC, 地点)
VALUES (200, 'InterCargo', 'tflanders', 'samerica');
(*)
INSERT INTO 顾客
VALUES (200, 'InterCargo', null, 'tflanders', 'samerica');
(*)
INSERT INTO 顾客
VALUES (顾客标识, 公司, 信用, POC, 地点) (200, 'InterCargo', 0, 'tflanders', 'samerica');
INSERT INTO 顾客
VALUES (200, InterCargo, 0, tflanders, samerica);
正确
7.
您需要删除“雇员”表中 Tim Jones 的一条记录,他的唯一雇员标识号为 348。“雇员”表包含以下列:
雇员标识 NUMBER(5) PRIMARY KEY
姓氏 VARCHAR2(20)
名字 VARCHAR2(20)
地址 VARCHAR2(30)
电话 NUMBER(10)
哪条 DELETE 语句将删除相应的记录而不会额外删除其他记录?
标记为待复查
(1) 分数
DELETE FROM 雇员
WHERE 雇员标识 = 348;
(*)
DELETE FROM 雇员
WHERE 姓氏 = jones;
DELETE *
FROM 雇员
WHERE 雇员标识 = 348;
DELETE 'jones'
FROM 雇员;
正确
8.
评估以下语句:
DELETE FROM 顾客;
哪个表述是正确的?
标记为待复查
(1) 分数
该语句将删除“顾客”表中的所有行。 (*)
该语句将删除“顾客”列。
该语句将删除“顾客”表中的第一行。
该语句将从数据库中删除“顾客”表的结构。
正确
9.
您的一位雇员最近结婚了。她的雇员标识仍然为 189,但是她的姓氏现在是 Rockefeller。使用哪条 SQL 语句可以反映此变化?
标记为待复查
(1) 分数
INSERT INTO 我的雇员 SET 姓氏 = 'Rockefeller' WHERE 雇员标识 = 189;
INSERT 我的雇员 SET 姓氏 = 'Rockefeller' WHERE 雇员标识 = 189;
UPDATE INTO 我的雇员 SET 姓氏 = 'Rockefeller' WHERE 雇员标识 = 189;
UPDATE 我的雇员 SET 姓氏 = 'Rockefeller' WHERE 雇员标识 = 189; (*)
正确
10.
“球员”表包含以下列:
球员标识 NUMBER NOT NULL
球员姓氏 VARCHAR2(20) NOT NULL
球员名字 VARCHAR2(10) NOT NULL
球队标识 NUMBER
薪金 NUMBER(9,2)
您需要将老虎队 (Tiger) 中所有球员每人的薪金提高 12.5%。老虎队的“球队标识”值为 5960。应该使用哪条语句?
标记为待复查
(1) 分数
UPDATE 球员 (薪金)
SET 薪金 = 薪金 * 1.125;
UPDATE 球员
SET 薪金 = 薪金 * .125
WHERE 球队标识 = 5960;
UPDATE 球员
SET 薪金 = 薪金 * 1.125
WHERE 球队标识 = 5960;
(*)
UPDATE 球员 (薪金)
VALUES(薪金 * 1.125)
WHERE 球队标识 = 5960;
正确
11.
“雇员”表包含以下列:
雇员标识 NUMBER(10) PRIMARY KEY
姓氏 VARCHAR2(20)
名字 VARCHAR2(20)
部门标识
标记为待复查
(1) 分数
VARCHAR2(20)
聘用日期 DATE
薪金 NUMBER(9,2)
奖金 NUMBER(9,2)
您想执行一条 DML 语句,将部门 10 中所有雇员的薪金更改为等于编号 89898 雇员的新薪金。目前,部门 10 中所有雇员的薪金值是相同的。应当执行哪条语句?
UPDATE 雇员
SET 薪金 = SELECT 薪金 FROM 雇员 WHERE 雇员标识 = 89898;
UPDATE 雇员
SET 薪金 = (SELECT 薪金 FROM 雇员 WHERE 雇员标识 = 89898);
UPDATE 雇员
SET 薪金 = (SELECT 薪金 FROM 雇员 WHERE 雇员标识 = 89898)
WHERE 部门标识 = 10;
(*)
UPDATE 雇员
SET 薪金 = (SELECT 薪金 FROM 雇员 WHERE 雇员标识 = 89898 AND 部门标识 = 10);
正确
12.
UPDATE 语句中的哪个关键字用于指定要更改的列?
标记为待复查
(1) 分数
SELECT
WHERE
SET (*)
HAVING
不正确。请参阅第 7 部分第 2 课。
13.
您需要更新居住地为亚特兰大 (Atlanta) 的雇员的区域代码。考虑下面的部分 UPDATE 语句:
UPDATE 雇员
标记为待复查
(1) 分数
SET 区域代码 = 770
应在 UPDATE 语句中包含以下哪个子句,才能得到想要的结果?
UPDATE 城市 = Atlanta;
SET 城市 = 'Atlanta';
WHERE 城市 = 'Atlanta'; (*)
LIKE 'At%';
正确
14.
下列哪项表示的 INSERT 语句的语法正确?
标记为待复查
(1) 分数
INSERT VALUES INTO 顾客 (3178 J. Smith 123 Main Street Nashville TN 37777;
INSERT INTO 顾客 VALUES '3178' 'J.' 'Smith' '123 Main Street ' ' Nashville ' 'TN' '37777';
INSERT INTO 顾客 VALUES ('3178', 'J.', 'Smith', '123 Main Street', 'Nashville', 'TN', '37777'); (*)
INSERT 顾客 VALUES 3178, J., Smith, 123 Main Street , Nashville , TN , 37777 ;
正确
Section 5
(回答此部分的所有问题)
15.
要控制使用 SET 运算符返回的行的顺序,需使用 ______ ORDER BY 子句并将它放置在查询的 ______ SELECT 语句中。
标记为待复查
(1) 分数
一次;第一条
两次;第一条
一次;最后一条 (*)
全部;最后一条
不正确。请参阅第 5 部分第 3 课。
16.
标记为待复查
(1) 分数
使用集合运算符时,列的个数及列的数据类型必须在查询使用的所有 SELECT 语句中都相同。判断对错。
对 (*)
错
正确
17.
如果 SELECT 列表同时包含一个列和一个组函数,则需要使用以下哪个子句?
标记为待复查
(1) 分数
HAVING 子句
JOIN 子句
ORDER BY 子句
GROUP BY 子句 (*)
不正确。请参阅第 5 部分第 1 课。
18.
“产品”表包含以下列:
产品标识 NUMBER(4)
产品名称 VARCHAR(20)
产品类别 VARCHAR2(15)
产品价格 NUMBER(5)
产品数量 NUMBER(4)
如果需要确定每个产品类别中的最低产品价格,
可以使用以下哪条语句完成此任务?
标记为待复查
(1) 分数
SELECT 产品类别, MIN (产品价格)
FROM 产品
GROUP BY 产品价格;
SELECT 产品类别, MIN (产品价格)
FROM 产品
GROUP BY 产品类别;
(*)
SELECT MIN (产品价格), 产品类别
FROM 产品
GROUP BY MIN (产品价格), 产品类别;
SELECT 产品价格, MIN (产品类别)
FROM 产品
GROUP BY 产品类别;
正确
19.
评估以下 SELECT 语句:
SELECT COUNT(雇员标识), 部门标识
FROM 雇员
GROUP BY 部门标识;
如果只想包括收入高于 15000 的雇员,
应在 SELECT 语句中使用以下哪个子句?
标记为待复查
(1) 分数
WHERE 薪金 > 15000 (*)
HAVING 薪金 > 15000
WHERE SUM(薪金) > 15000
HAVING SUM(薪金) > 15000
正确
20.
以下哪项最准确地解释了无法执行以下 SQL 语句的原因?
SELECT 部门标识 "部门", AVG (薪金)"平均"
FROM 雇员
GROUP BY 部门;
标记为待复查
(1) 分数
无法对薪金求平均值,因为并不是所有的数值都能被平分。
不能在 GROUP BY 子句中使用列别名。 (*)
GROUP BY 子句中必须有要分组的内容。
“部门”表中没有列出部门标识。
正确
21.
评估以下语句:
SELECT 部门标识, AVG(薪金)
FROM 雇员
WHERE 职务标识 <> 69879
GROUP BY 职务标识, 部门标识
HAVING
标记为待复查
(1) 分数
AVG(薪金) > 35000
ORDER BY 部门标识;
哪些子句用于限定结果?选择两个正确答案。
(选择所有正确答案)
SELECT 部门标识, AVG(薪金)
WHERE 职务标识 <> 69879 (*)
GROUP BY 职务标识, 部门标识
HAVING AVG(薪金) > 35000 (*)
正确
22.
在 SELECT 语句中,子句的正确顺序是什么?
标记为待复查
(1) 分数
SELECT
FROM
WHERE
ORDER BY
GROUP BY
HAVING
SELECT
FROM
HAVING
GROUP BY
WHERE
ORDER BY
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
(*)
SELECT
FROM
WHERE
HAVING
ORDER BY
GROUP BY
不正确。请参阅第 5 部分第 1 课。
23.
组函数最深可以嵌套几层?
标记为待复查
(1) 分数
三层
四层
两层 (*)
组函数不可以嵌套。
正确
24.
您需要创建一个报表,返回公司中所有雇员的平均薪金,并按部门排序。
“雇员”表包含以下列: 雇员:
雇员标识 NUMBER(10) PRIMARY KEY 姓氏 VARCHAR2(20) 名字 VARCHAR2(20) 部门 VARCHAR2(20) 聘用日期 DATE 薪金 NUMBER(10) 哪条 SELECT 语句会返回您需要的信息? 标记为待复查 (1) 分数 SELECT 薪金(AVG), 部门 FROM 雇员 GROUP BY 部门; SELECT 部门, AVG(薪金) FROM 雇员 GROUP BY 部门; (*) SELECT AVG (薪金) FROM 雇员 BY 部门; SELECT AVG 薪金 FROM 雇员 BY 部门; 正确 25. “生产商”表包含以下列: 生产商标识 NUMBER 生产商名称 VARCHAR2(30) 类型 VARCHAR2(25) 地点标识 NUMBER 如果需要显示每个地点唯一类型的生产商的数量,应使用下列哪条 SELECT 语句? 标记为待复查 (1) 分数 SELECT 地点标识, COUNT(DISTINCT 类型) FROM 生产商 GROUP BY 地点标识; (*) SELECT 地点标识, COUNT(DISTINCT 类型) FROM 生产商; SELECT 地点标识, COUNT(类型) FROM 生产商 GROUP BY 地点标识; SELECT 地点标识, COUNT(DISTINCT 类型) FROM 生产商 GROUP BY 类型; 正确 26. “产品”表包含以下列: 产品标识 NUMBER(9) PK 类别标识 VARCHAR2(10) 地点标识 NUMBER(9) 说明 VARCHAR2(30) 成本 NUMBER(7,2) 价格 NUMBER(7,2) 数量 NUMBER 您按地点显示每个产品类别的附加成本总额。 您需要只包括价格低于 25.00 美元的产品。 每一项的附加成本等于数量值乘以成本值。 以下哪条 SQL 语句将显示想要的结果? 标记为待复查 (1) 分数 SELECT 类别标识, SUM(成本 * 数量) TOTAL,地点标识 FROM 产品 WHERE 价格 > 25.00 GROUP BY 类别标识, 地点标识; SELECT SUM(成本 * 数量) TOTAL, 地点标识 FROM 产品 WHERE 价格 < 25.00 GROUP BY 地点标识; SELECT 类别标识, SUM(成本 * 数量) TOTAL, 地点标识 FROM 产品 WHERE 价格 < 25.00 GROUP BY 类别标识, 地点标识; (*) SELECT SUM(成本 * 数量) TOTAL FROM 产品 WHERE 价格 < 25.00; 正确 27. “雇员”表包含以下列: 雇员标识 NUMBER(10) PRIMARY KEY 姓氏 VARCHAR2(20) 名字 VARCHAR2(20) 部门 VARCHAR2(20) 聘用日期 DATE 薪金 NUMBER(10) 您要创建一份报表,其中包含每个雇员的姓氏、雇员标识编号、聘用日期和薪金信息。报表应仅包括在职一年以上、薪金超过 40,000 美元的雇员。 以下哪条 SELECT 语句可完成此任务? 标记为待复查 (1) 分数 SELECT 雇员标识, 姓氏, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND 聘用日期 = (SELECT 聘用日期 FROM 雇员 WHERE (sysdate-聘用日期) / 365 > 1); SELECT 雇员标识, 姓氏, 聘用日期, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND 聘用日期 = (SELECT 聘用日期 FROM 雇员 WHERE (sysdate-聘用日期) / 365 > 1); SELECT 雇员标识, 姓氏, 聘用日期, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND (sysdate-聘用日期) / 365 > 1; (*) SELECT 雇员标识, 姓氏, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND 聘用日期 IN (sysdate-聘用日期) / 365 > 1); 正确 28. 下列有关 GROUP BY 子句的表述中哪个是正确的? 标记为待复查 (1) 分数 要在使用 GROUP BY 子句对行进行分组之前排除行,应使用 WHERE 子句。 (*) 可以在 GROUP BY 子句中使用列别名。 默认情况下,使用 GROUP BY 子句时不会对行进行排序。 HAVING 子句必须与 GROUP BY 子句一起使用。 正确 29. 评估以下 SELECT 语句: SELECT SUM(薪金), 部门标识, 经理标识 FROM 雇员 GROUP BY 部门标识, 经理标识; 使用哪个 SELECT 子句可以基于某个组函数限定返回的行? 标记为待复查 (1) 分数 HAVING SUM(薪金) > 100000 (*) WHERE SUM(薪金) > 100000 WHERE 薪金 > 100000 HAVING 薪金 > 100000 正确 30. ROLLUP 用于: 标记为待复查 (1) 分数 生成小计值 (*) 生成交叉表值 生成单一结果集 正确 31. CUBE 可以应用于所有聚集函数,包括 AVG、SUM、MIN、MAX 和 COUNT。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 32. GROUPING SETS 是 GROUP BY 子句的另一个扩展功能,用于指定多个数据分组,但提供单一结果集。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 33. 使用 GROUPING 函数可以对交叉表行和数据库行进行______。 标记为待复查 (1) 分数 创建 区分 (*) 计算 数量统计 正确 Section 6 (回答此部分的所有问题) 34. 以下哪项最准确地描述了单行子查询? 标记为待复查 (1) 分数 一种从内部 SELECT 语句中仅返回一行的查询 (*) 一种从内部 SELECT 语句中返回一行或多行的查询 一种从内部 SELECT 语句中仅返回一列值的查询 一种从内部 SELECT 语句中返回一列或多列值的查询 正确 35. 分析以下“雇员”表、“部门”表和“订单”表的结构。 雇员: 雇员标识 NUMBER(9) 姓氏 VARCHAR2(25) 名字 VARCHAR2(25) 部门标识 NUMBER(9) 部门: 部门标识 NUMBER(9) 部门名称 VARCHAR2(25) 建立日期 DATE 订单: 订单标识 NUMBER(9) 标记为待复查 (1) 分数 雇员标识 NUMBER(9) 日期 DATE 顾客标识 NUMBER(9) 如果要显示“销售”部门建立以后获得订单的所有雇员,应使用以下哪个结构? 组函数 单行子查询 (*) HAVING 子句 MERGE 语句 不正确。请参阅第 6 部分第 2 课。 36. 评估以下包含子查询的 SELECT 语句: SELECT 姓氏, 名字 FROM 顾客 WHERE 区域代码 IN (SELECT 区域代码 FROM 销售 WHERE 销售人员标识 = 20); 下列有关给定子查询的表述中哪个是正确的? 标记为待复查 (1) 分数 外部查询在嵌套的子查询之前执行。 内部查询的结果将返回给外部查询。 (*) 如果内部查询或外部查询有一个没有返回值,就会出现错误。 内部查询和外部查询都必须返回值,否则会出现错误。 不正确。请参阅第 6 部分第 3 课。 37. 以下哪个运算符或关键字不能与多行子查询一起使用? 标记为待复查 (1) 分数 ALL ANY = (*) > 不正确。请参阅第 6 部分第 3 课。 38. 以下查询语句中有什么错误? SELECT 雇员标识, 姓氏 FROM 雇员 WHERE 薪金 = (SELECT MIN(薪金) FROM 雇员 GROUP BY 部门标识); 标记为待复查 (1) 分数 单行包含了多个值,并且使用了逻辑运算符。 子查询返回多行,但使用了单行比较运算符。 (*) 子查询在 WHERE 子句中引用了错误的表。 没有错误,该查询将正常运行。 正确 39. 以下哪种说法是不正确的?相关子查询的父语句可以是: 标记为待复查 (1) 分数 SELECT 语句 INSERT 语句 (*) UPDATE 语句 DELETE 语句 正确 40. 使用 WITH 子句,SELECT 语句能够在查询的开头定义子查询块,只需处理该查询块一次,对结果进行标记,然后便可多次引用该结果。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 41. 要创建一个报表,包含那些薪金高于所在部门平均薪金的雇员,您可以先使用 ______________________ 标记为待复查 (1) 分数 计算每个部门的平均薪金,然后将每位雇员的薪金与该雇员所在部门的平均薪金进行比较。 WITH 子句 相关子查询 (*) GROUP BY 正确 42. 当子查询引用的列来自父语句中引用的表时,Oracle Server 将执行相关子查询。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 43. 如果需要创建一份报表,显示成本值高于所有产品平均成本值的产品名称,应使用下列哪条 SELECT 语句? 标记为待复查 (1) 分数 SELECT 产品名称 FROM 产品 WHERE 成本 > (SELECT AVG(成本) FROM 产品); (*) SELECT 产品名称 FROM 产品 WHERE 成本 > AVG(成本); SELECT AVG(成本), 产品名称 FROM 产品 WHERE 成本 > AVG(成本) GROUP by 产品名称; SELECT 产品名称 FROM (SELECT AVG(成本) FROM 产品) WHERE 成本 > AVG(成本); 正确 44. 如果在子查询中使用等号运算符 (=),则子查询可以返回多少个值? 标记为待复查 (1) 分数 仅 1 个 (*) 最多 2 个 最多 5 个 不限数量 正确 45. 在以下哪个子句中使用子查询会返回语法错误? 标记为待复查 (1) 分数 WHERE FROM HAVING 以上所有子句中均可使用子查询。 (*) 正确 46. 下列有关子查询的表述中哪个是正确的? 标记为待复查 (1) 分数 子查询应该用双引号括起来。 子查询不能包含组函数。 子查询通常用在 WHERE 子句中,用于为未知的条件值返回值。 (*) 子查询通常在主查询或外部查询执行完毕后最后执行。 正确 47. 下列有关子查询执行顺序的表述中哪个是正确的? 标记为待复查 (1) 分数 首先执行外部查询。 子查询在主查询执行完之后执行一次。 子查询在主查询执行之前执行一次。 (*) 子查询会使用主查询的结果。 正确 48. “教师”和“课程安排”表包含以下列: 教师 教师标识 NUMBER(5) Primary Key 名称 VARCHAR2 (25) 标记为待复查 (1) 分数 学科标识 NUMBER(5) 课程标识 NUMBER(5) 课程安排 课程标识 NUMBER (5) Primary Key 教师标识 NUMBER (5) 日期 最多人数 NUMBER (3) “最多人数”值全部大于 10。以下哪两条 SQL 语句正确使用了子查询?(选择两个正确答案。) (选择所有正确答案) SELECT * FROM 课程安排 WHERE 最多人数 = (SELECT AVG(最多人数) FROM 课程安排); (*) SELECT * FROM 教师 WHERE 教师标识 = (SELECT 教师标识 FROM 课程安排 WHERE 课程标识 = 45963); (*) SELECT * FROM 教师 WHERE 教师标识 = (SELECT 教师标识, 课程安排 WHERE 最多人数 > 0); SELECT * FROM 教师 WHERE 教师标识 LIKE (SELECT 教师标识 FROM 课程安排 WHERE 最多人数 > 1000); SELECT * FROM 课程安排 最多人数 = (SELECT AVG(最多人数) FROM 课程安排 GROUP BY 教师标识); 正确 49. 如果需要显示薪金高于或等于 John Brown 的所有球员,应使用以下哪个比较运算符? 标记为待复查 (1) 分数 = > <= >= (*) 正确 分析“顾客”和“订单历史记录”表的结构: 50. 顾客 顾客标识 NUMBER(5) 名称 VARCHAR2(25) 信用限额 NUMBER(8,2) 开户日期 DATE 订单历史记录 订单标识 NUMBER(5) 顾客标识 NUMBER(5) 订单日期 DATE 总额 NUMBER(8,2) 下列哪些情况需要使用子查询返回所需的结果? 标记为待复查 (1) 分数 您需要显示每个顾客帐户的开户日期。 您需要显示一位顾客下订单的各个日期。 您需要显示在某个特定日期下达的所有订单。 您需要显示与编号为 25950 的订单同一天下达的所有订单。 (*) 正确
“雇员”表包含以下列: 雇员:
雇员标识 NUMBER(10) PRIMARY KEY 姓氏 VARCHAR2(20) 名字 VARCHAR2(20) 部门 VARCHAR2(20) 聘用日期 DATE 薪金 NUMBER(10) 哪条 SELECT 语句会返回您需要的信息? 标记为待复查 (1) 分数 SELECT 薪金(AVG), 部门 FROM 雇员 GROUP BY 部门; SELECT 部门, AVG(薪金) FROM 雇员 GROUP BY 部门; (*) SELECT AVG (薪金) FROM 雇员 BY 部门; SELECT AVG 薪金 FROM 雇员 BY 部门; 正确 25. “生产商”表包含以下列: 生产商标识 NUMBER 生产商名称 VARCHAR2(30) 类型 VARCHAR2(25) 地点标识 NUMBER 如果需要显示每个地点唯一类型的生产商的数量,应使用下列哪条 SELECT 语句? 标记为待复查 (1) 分数 SELECT 地点标识, COUNT(DISTINCT 类型) FROM 生产商 GROUP BY 地点标识; (*) SELECT 地点标识, COUNT(DISTINCT 类型) FROM 生产商; SELECT 地点标识, COUNT(类型) FROM 生产商 GROUP BY 地点标识; SELECT 地点标识, COUNT(DISTINCT 类型) FROM 生产商 GROUP BY 类型; 正确 26. “产品”表包含以下列: 产品标识 NUMBER(9) PK 类别标识 VARCHAR2(10) 地点标识 NUMBER(9) 说明 VARCHAR2(30) 成本 NUMBER(7,2) 价格 NUMBER(7,2) 数量 NUMBER 您按地点显示每个产品类别的附加成本总额。 您需要只包括价格低于 25.00 美元的产品。 每一项的附加成本等于数量值乘以成本值。 以下哪条 SQL 语句将显示想要的结果? 标记为待复查 (1) 分数 SELECT 类别标识, SUM(成本 * 数量) TOTAL,地点标识 FROM 产品 WHERE 价格 > 25.00 GROUP BY 类别标识, 地点标识; SELECT SUM(成本 * 数量) TOTAL, 地点标识 FROM 产品 WHERE 价格 < 25.00 GROUP BY 地点标识; SELECT 类别标识, SUM(成本 * 数量) TOTAL, 地点标识 FROM 产品 WHERE 价格 < 25.00 GROUP BY 类别标识, 地点标识; (*) SELECT SUM(成本 * 数量) TOTAL FROM 产品 WHERE 价格 < 25.00; 正确 27. “雇员”表包含以下列: 雇员标识 NUMBER(10) PRIMARY KEY 姓氏 VARCHAR2(20) 名字 VARCHAR2(20) 部门 VARCHAR2(20) 聘用日期 DATE 薪金 NUMBER(10) 您要创建一份报表,其中包含每个雇员的姓氏、雇员标识编号、聘用日期和薪金信息。报表应仅包括在职一年以上、薪金超过 40,000 美元的雇员。 以下哪条 SELECT 语句可完成此任务? 标记为待复查 (1) 分数 SELECT 雇员标识, 姓氏, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND 聘用日期 = (SELECT 聘用日期 FROM 雇员 WHERE (sysdate-聘用日期) / 365 > 1); SELECT 雇员标识, 姓氏, 聘用日期, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND 聘用日期 = (SELECT 聘用日期 FROM 雇员 WHERE (sysdate-聘用日期) / 365 > 1); SELECT 雇员标识, 姓氏, 聘用日期, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND (sysdate-聘用日期) / 365 > 1; (*) SELECT 雇员标识, 姓氏, 薪金 FROM 雇员 WHERE 薪金 > 40000 AND 聘用日期 IN (sysdate-聘用日期) / 365 > 1); 正确 28. 下列有关 GROUP BY 子句的表述中哪个是正确的? 标记为待复查 (1) 分数 要在使用 GROUP BY 子句对行进行分组之前排除行,应使用 WHERE 子句。 (*) 可以在 GROUP BY 子句中使用列别名。 默认情况下,使用 GROUP BY 子句时不会对行进行排序。 HAVING 子句必须与 GROUP BY 子句一起使用。 正确 29. 评估以下 SELECT 语句: SELECT SUM(薪金), 部门标识, 经理标识 FROM 雇员 GROUP BY 部门标识, 经理标识; 使用哪个 SELECT 子句可以基于某个组函数限定返回的行? 标记为待复查 (1) 分数 HAVING SUM(薪金) > 100000 (*) WHERE SUM(薪金) > 100000 WHERE 薪金 > 100000 HAVING 薪金 > 100000 正确 30. ROLLUP 用于: 标记为待复查 (1) 分数 生成小计值 (*) 生成交叉表值 生成单一结果集 正确 31. CUBE 可以应用于所有聚集函数,包括 AVG、SUM、MIN、MAX 和 COUNT。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 32. GROUPING SETS 是 GROUP BY 子句的另一个扩展功能,用于指定多个数据分组,但提供单一结果集。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 33. 使用 GROUPING 函数可以对交叉表行和数据库行进行______。 标记为待复查 (1) 分数 创建 区分 (*) 计算 数量统计 正确 Section 6 (回答此部分的所有问题) 34. 以下哪项最准确地描述了单行子查询? 标记为待复查 (1) 分数 一种从内部 SELECT 语句中仅返回一行的查询 (*) 一种从内部 SELECT 语句中返回一行或多行的查询 一种从内部 SELECT 语句中仅返回一列值的查询 一种从内部 SELECT 语句中返回一列或多列值的查询 正确 35. 分析以下“雇员”表、“部门”表和“订单”表的结构。 雇员: 雇员标识 NUMBER(9) 姓氏 VARCHAR2(25) 名字 VARCHAR2(25) 部门标识 NUMBER(9) 部门: 部门标识 NUMBER(9) 部门名称 VARCHAR2(25) 建立日期 DATE 订单: 订单标识 NUMBER(9) 标记为待复查 (1) 分数 雇员标识 NUMBER(9) 日期 DATE 顾客标识 NUMBER(9) 如果要显示“销售”部门建立以后获得订单的所有雇员,应使用以下哪个结构? 组函数 单行子查询 (*) HAVING 子句 MERGE 语句 不正确。请参阅第 6 部分第 2 课。 36. 评估以下包含子查询的 SELECT 语句: SELECT 姓氏, 名字 FROM 顾客 WHERE 区域代码 IN (SELECT 区域代码 FROM 销售 WHERE 销售人员标识 = 20); 下列有关给定子查询的表述中哪个是正确的? 标记为待复查 (1) 分数 外部查询在嵌套的子查询之前执行。 内部查询的结果将返回给外部查询。 (*) 如果内部查询或外部查询有一个没有返回值,就会出现错误。 内部查询和外部查询都必须返回值,否则会出现错误。 不正确。请参阅第 6 部分第 3 课。 37. 以下哪个运算符或关键字不能与多行子查询一起使用? 标记为待复查 (1) 分数 ALL ANY = (*) > 不正确。请参阅第 6 部分第 3 课。 38. 以下查询语句中有什么错误? SELECT 雇员标识, 姓氏 FROM 雇员 WHERE 薪金 = (SELECT MIN(薪金) FROM 雇员 GROUP BY 部门标识); 标记为待复查 (1) 分数 单行包含了多个值,并且使用了逻辑运算符。 子查询返回多行,但使用了单行比较运算符。 (*) 子查询在 WHERE 子句中引用了错误的表。 没有错误,该查询将正常运行。 正确 39. 以下哪种说法是不正确的?相关子查询的父语句可以是: 标记为待复查 (1) 分数 SELECT 语句 INSERT 语句 (*) UPDATE 语句 DELETE 语句 正确 40. 使用 WITH 子句,SELECT 语句能够在查询的开头定义子查询块,只需处理该查询块一次,对结果进行标记,然后便可多次引用该结果。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 41. 要创建一个报表,包含那些薪金高于所在部门平均薪金的雇员,您可以先使用 ______________________ 标记为待复查 (1) 分数 计算每个部门的平均薪金,然后将每位雇员的薪金与该雇员所在部门的平均薪金进行比较。 WITH 子句 相关子查询 (*) GROUP BY 正确 42. 当子查询引用的列来自父语句中引用的表时,Oracle Server 将执行相关子查询。请判断对错。 标记为待复查 (1) 分数 对 (*) 错 正确 43. 如果需要创建一份报表,显示成本值高于所有产品平均成本值的产品名称,应使用下列哪条 SELECT 语句? 标记为待复查 (1) 分数 SELECT 产品名称 FROM 产品 WHERE 成本 > (SELECT AVG(成本) FROM 产品); (*) SELECT 产品名称 FROM 产品 WHERE 成本 > AVG(成本); SELECT AVG(成本), 产品名称 FROM 产品 WHERE 成本 > AVG(成本) GROUP by 产品名称; SELECT 产品名称 FROM (SELECT AVG(成本) FROM 产品) WHERE 成本 > AVG(成本); 正确 44. 如果在子查询中使用等号运算符 (=),则子查询可以返回多少个值? 标记为待复查 (1) 分数 仅 1 个 (*) 最多 2 个 最多 5 个 不限数量 正确 45. 在以下哪个子句中使用子查询会返回语法错误? 标记为待复查 (1) 分数 WHERE FROM HAVING 以上所有子句中均可使用子查询。 (*) 正确 46. 下列有关子查询的表述中哪个是正确的? 标记为待复查 (1) 分数 子查询应该用双引号括起来。 子查询不能包含组函数。 子查询通常用在 WHERE 子句中,用于为未知的条件值返回值。 (*) 子查询通常在主查询或外部查询执行完毕后最后执行。 正确 47. 下列有关子查询执行顺序的表述中哪个是正确的? 标记为待复查 (1) 分数 首先执行外部查询。 子查询在主查询执行完之后执行一次。 子查询在主查询执行之前执行一次。 (*) 子查询会使用主查询的结果。 正确 48. “教师”和“课程安排”表包含以下列: 教师 教师标识 NUMBER(5) Primary Key 名称 VARCHAR2 (25) 标记为待复查 (1) 分数 学科标识 NUMBER(5) 课程标识 NUMBER(5) 课程安排 课程标识 NUMBER (5) Primary Key 教师标识 NUMBER (5) 日期 最多人数 NUMBER (3) “最多人数”值全部大于 10。以下哪两条 SQL 语句正确使用了子查询?(选择两个正确答案。) (选择所有正确答案) SELECT * FROM 课程安排 WHERE 最多人数 = (SELECT AVG(最多人数) FROM 课程安排); (*) SELECT * FROM 教师 WHERE 教师标识 = (SELECT 教师标识 FROM 课程安排 WHERE 课程标识 = 45963); (*) SELECT * FROM 教师 WHERE 教师标识 = (SELECT 教师标识, 课程安排 WHERE 最多人数 > 0); SELECT * FROM 教师 WHERE 教师标识 LIKE (SELECT 教师标识 FROM 课程安排 WHERE 最多人数 > 1000); SELECT * FROM 课程安排 最多人数 = (SELECT AVG(最多人数) FROM 课程安排 GROUP BY 教师标识); 正确 49. 如果需要显示薪金高于或等于 John Brown 的所有球员,应使用以下哪个比较运算符? 标记为待复查 (1) 分数 = > <= >= (*) 正确 分析“顾客”和“订单历史记录”表的结构: 50. 顾客 顾客标识 NUMBER(5) 名称 VARCHAR2(25) 信用限额 NUMBER(8,2) 开户日期 DATE 订单历史记录 订单标识 NUMBER(5) 顾客标识 NUMBER(5) 订单日期 DATE 总额 NUMBER(8,2) 下列哪些情况需要使用子查询返回所需的结果? 标记为待复查 (1) 分数 您需要显示每个顾客帐户的开户日期。 您需要显示一位顾客下订单的各个日期。 您需要显示在某个特定日期下达的所有订单。 您需要显示与编号为 25950 的订单同一天下达的所有订单。 (*) 正确