
- SQL 认证学习资料
- SQL - 简介
- SQL - SQL 考试大纲
- SQL - SQL SELECT 语句
- SQL - 限制和排序数据
- SQL - 使用单行函数
- SQL - 条件表达式
- SQL - 使用组函数
- SQL - 从多个表获取数据
- SQL - 使用子查询解决查询
- SQL - 使用集合运算符
- SQL - 数据操作
- SQL - 使用 DDL 语句
- SQL - 创建其他模式对象
- SQL 认证题库
- SQL - SQL SELECT 语句
- SQL - 限制和排序数据
- SQL - 使用单行函数
- SQL - 转换函数
- SQL - 条件表达式
- SQL - 使用组函数
- SQL - 从多个表获取数据
- SQL - 使用子查询解决查询
- SQL - 使用集合运算符
- SQL - 数据操作
- SQL - 使用 DDL 语句
- SQL - 创建其他模式对象
- SQL 认证模拟考试
- SQL 认证 - 模拟考试
- SQL 认证实用资源
- SQL 认证 - 实用资源
- SQL 认证 - 讨论
SQL 认证模拟考试
1. 以下查询的结果是什么?
SELECT ROUND(144.23,-1) FROM dual;
- 140
- 144
- 150
- 100
2. 在以下哪些情况下,需要指定括号?
- 当 INTERSECT 与其他集合运算符一起使用时
- 当 UNION 与 UNION ALL 一起使用时
- 当 MINUS 用于查询时
- 以上皆非
3. 以下哪些是 Oracle 数据库中的 DML 命令?
- SELECT
- GROUP BY
- INTERSECT
- INSERT
4. 编写一个查询,以显示 EMP 表中的员工详细信息(姓名、部门、工资和职位)。
SELECT ename, deptno, sal, job FROM emp;
SELECT * FROM emp;
SELECT DISTINCT ename, deptno, sal, job FROM emp;
SELECT ename, deptno, sal FROM emp;
5. 以下哪些是不同类型的视图?
- 简单视图
- 复杂视图
- A 和 B 都是
- 以上皆非
6. 关于集合运算符,哪个说法是正确的?
- SELECT 子句应具有相同数量的列,数据类型可以不同
- 集合运算符只能用于组合两个查询
- 第二个查询中每列的数据类型必须与第一个查询中对应列的数据类型匹配。
- 以上皆非
7. 以下哪些多行运算符可以与子查询一起使用?
- IN
- ANY
- ALL
- 以上皆是
8. 什么时候可以创建表?
- 当数据库未被任何用户使用时
- 当数据库新创建时
- 它可以在任何时间创建,即使用户正在使用数据库
- 以上皆非
9. 以下哪种是将行插入表的常用技术?(选择最合理和最合适的答案)
- 使用 SELECT 子句
- 手动将每个值键入 INSERT 子句中
- 使用集合运算符
- 以上皆非
10. 以下关于视图哪个说法是正确的?
- 可以在 CREATE VIEW 语句中嵌入子查询
- CREATE VIEW 语句中使用的子查询必须具有简单的 SELECT 语法
- 当在 CREATE VIEW 语句中使用子查询时,不能使用 WHERE 子句
- 以上皆非
11. 在 SQL*Plus 中执行以下语句时,预测输出结果?
DESC emp
- 引发错误“SP2-0042: 未知命令“desc emp” - 忽略其余行。”
- 列出 EMP 表的列
- 列出 EMP 表的列、其数据类型和空值
- 列出 EMP 表的列及其数据类型
12. 以下查询的结果是什么?
SELECT 100+NULL+999 FROM dual;
- 100
- 999
- NULL
- 1099
13. 关于给定查询,如果将使用的 JOIN 替换为 NATURAL JOIN,则会引发错误。此错误的原因是什么?
- 当使用 NATURAL JOIN 时,WHERE 子句是必需的,省略它会引发错误
- ON 子句应替换为 USING 子句
- 在同一连接子句的上下文中,NATURAL、JOIN 和 USING 是互斥的
- 查询在连接时不能组合 NATURAL JOIN 和 ON(或 USING)子句。
14. 以下哪个语法模型在全球软件系统中得到广泛使用?
- ANSI SQL: 1999
- 传统的 Oracle 语法和 ANSI SQL: 1999 语法
- 传统的 Oracle 语法
- 所有选项
15. 关于相关子查询,哪个说法是正确的?
- 主查询中使用的表也用于相关子查询
- 引用主查询中使用的列的子查询称为相关子查询
- 不带括号编写的子查询称为相关子查询
- 强制使用与主查询中使用的表不同的表的子查询称为相关子查询
16. 您发出以下 UPDATE 语句
UPDATE employees SET employee_id = NULL; WHERE job_id = 'CLERK';
以上语句的结果是什么?(此处,EMPLOYEE_ID 列通过添加约束标记为必填)
- 数据集的第一列将更新为 NULL
- 第一行的第三列将更新为 NULL
- 所有行的第三列将更新为 NULL
- 并且会抛出 ORA 错误
17.关于以上查询,哪个说法是正确的?
- 由于缺少必需的 WHERE 子句,因此会引发 ORA 错误
- JOIN..ON 子句不能包含多个条件
- 查询会忽略最后一个条件并执行,不会引发 ORA 错误
- 可以按照以上给出的格式编写 JOIN..ON 子句以添加更多条件。
18. 考虑以下查询。
SELECT e.job_id , e.first_name, d.department_id FROM departments D JOIN employees e JOIN BONUS b USING (job_id );
此查询导致错误。错误的原因是什么?
- JOINOUSING 只能在两个表之间发生
- 查询中的 USING 子句没有 department 的任何列
- 查询中没有 WHERE 子句
- 以上皆非
19. 预测以下查询的输出
SELECT 50 || 0001 FROM dual
- 500001
- 51
- 501
- 5001
20. 您创建一个表并将其命名为 COUNT。CREATE TABLE 脚本的结果是什么?
- 表将不会创建
- 表将被创建,并且会自动在名称 COUNT_ 中添加下划线
- 将抛出 ORA 错误
- 表 COUNT 将在没有任何错误的情况下创建
21. 以下查询的结果是什么?
SELECT * FROM employees WHERE salary BETWEEN (SELECT max(salary) FROM employees WHERE department_id = 100) AND (SELECT min(salary) FROM employees where department_id = 100);
此查询返回错误。错误的原因是什么?
- 由于使用了 MAX 函数,因此应使用 GROUP BY 子句
- 两个子查询不能在同一个外部查询中使用相同的部门 ID
- BETWEEN 运算符不能与子查询一起使用
- SELECT 子句应包含列,而不是星号 (*)
22. 以下哪个不是函数的属性?
- 对数据执行计算
- 转换列数据类型
- 修改单个数据项
- 以上皆非
23.关于 Oracle DB 中的 INNER JOIN 和 OUTER JOIN,哪个说法是正确的?
- INNER JOIN 仅返回匹配的行
- OUTER JOIN 仅返回不匹配的行
- OUTER JOIN 返回匹配的行以及不匹配的行
- 以上皆非
24. 以下哪个可以在基础表不存在的情况下创建视图?
- NOFORCE
- FORCE
- OR REPLACE
- CREATE VIEW
25. Oracle 支持以下哪些 ANSI SQL: 1999 连接语法连接?
- 笛卡尔积
- 自然连接
- 完整外部连接
- 等值连接
26. 创建表的前提条件有哪些?
- CREATE TABLE 权限
- 存储空间
- 表中的数据
- 以上皆非
27. 创建表的语法是什么?
- CREATE TABLE [schema.] table (column datatype [DEFAULT expr] [,..] );
- CREATE TABLE INTO [schema.] table (column datatype [DEFAULT expr] [,..] );
- CREATE TABLE VALUES [schema.] table (column datatype [DEFAULT expr] [,..] );
- 以上皆非
28.您需要显示 EMPLOYEES 表中所有不匹配的行和 DEPARTMENT 表中所有不匹配的行,而不会在它们之间给出行的笛卡尔积。以下哪个查询将给出所需的输出?
SELECT * FROM employees e, department d WHERE e.department_id = d.department_id ;
SELECT * FROM employees e NATURAL JOIN department d;
SELECT * FROM employees e FULL OUTER JOIN department d ON e.department_id = d.department_id ;
SELECT * FROM employees e JOIN department d ON ( e.department_id > d.department_id ) ;
29. 以下哪些字母数字字符用于表示 SQL 中的连接运算符?
- +
- ||
- -
- ::
30.考虑到集合运算符具有相同的优先级,更改其优先级的最佳方法是什么?
- 可以更改集合运算符的使用顺序以更改其优先级
- 无法更改相同的优先级
- 可以使用括号更改优先级
- 以上皆非
31.此查询结果中将显示什么?
- 它将显示 EMPLOYEES 和 DEPARTMENTS 表中共同包含的不同部门 ID。
- 它将抛出 ORA 错误
- 没有选定的行
- 以上皆非
32. 以下哪个命令确保无法对视图执行任何 DML 操作?
- NOFORCE
- FORCE
- WITH READ ONLY
- OR REPLACE
33. 关于 CREATE VIEW 语句中的 NOFORCE 选项,哪个说法是正确的?
- 即使基础表不存在,它也会创建视图。
- 只有在基础表存在时,它才会创建视图。
- 它是创建视图时的默认选项。
- 以上皆非
34. 关于 OR REPLACE 关键字,哪个说法是正确的?
- 使用此关键字创建视图时,对象权限将丢失
- 无需重新授予之前授予的权限
- A 和 B 都不正确
- 以上皆非
35. 以下哪个是 Oracle SQL 函数的类型?
- 多行函数
- 单列函数
- 单值函数
- 多列函数
36. 以下哪个是单行函数的类型?
- VARCHAR2
- 字符
- LONG
- NULLIF
37. 关于多行函数,哪个说法最合适?
- 它们为每一行返回多个值。
- 它们为每一组行返回一个结果,并且可以操纵行组。
- 它们为每一行返回一个结果,并且可以操纵行组。
- 它们为每一组行返回多个值。
38. 以下哪些也称为组函数?
- 单行函数
- 多组函数
- 多行函数
- 单组函数。
39. 表 T_COUNT 有 12 个数字值,分别为 1、2、3、32、1、1、null、24、12、null、32、null。预测以下查询的输出。
SELECT COUNT (*) FROM t_count;
- 12
- 6
- 9
- 抛出异常,因为 COUNT 函数不适用于 NULL 值
40. 创建表时必须指定哪个元素?
- 列名
- 列数据类型
- 列大小
- 以上皆是
41. 关于以上语句,可以说什么?
- 为视图提供了备用名称
- 如果任何列派生自函数或表达式,则必须提供备用名称
- A 和 B 都是
- 以上皆非
42. 表 T_COUNT 有 12 个数字值,分别为 1、2、3、32、1、1、null、24、12、null、32、null。预测以下查询的输出。
SELECT COUNT (num) FROM t_count;
- 12
- 6
- 9
- 抛出异常,因为 COUNT 函数不适用于 NULL 值
43. 您需要仅查找部门 100 和 101 获得的以上查询结果。应向以上查询添加/修改以下哪些子句?
- 应添加 ON (e.department_id = d.department_id )
- 应添加 USING (e.department_id )
- 应添加 WHERE e.department_id in (100,101)
- 以上皆非
44. 以下哪个不是 SQL 中的 GROUP BY 扩展?
- GROUP BY
- GROUPING SETS
- CUBE
- ROLLUP
45. 如果将以上语句修改如下,将会发生什么?
CREATE OR REPLACE VIEW dept_sum_vu(name, maxsal, minsal, avgsal) AS SELECT d.dept_name, MIN(e.salary), MAX(e.salary), AVG (e.salary) FROM employees e JOIN departments d ON (e.department_id= d.dept_id) GROUP BY d.dept_name;
- 它与原始语句没有任何区别
- 它将成功执行并给出相同的结果,但别名名称会发生变化。
- 它将抛出 ORA 错误
- 以上皆非
46. 关于 DELETE 语句,以下哪个说法是正确的?
- DELETE 语句必须与 WHERE 子句一起使用
- 不必在 DELETE 语句中编写 WHERE 子句
- DELETE 可以一次删除多个表中的数据
- 以上皆非
47. 假设 employees 表中员工的姓氏都使用正确的格式,以下查询的结果是什么?
SELECT employee_id, last_name, department_id FROM employees WHERE last_name = 'smith';
- 它将显示姓氏为 Smith 的员工的详细信息
- 它将不返回任何结果。
- 它将提供所有小写字母的姓氏为“Smith”的员工的详细信息。
- 它将提供所有首字母大写形式的姓氏为“Smith”的员工的详细信息。
48.在对表发出 DELETE 语句时,以下哪项会发生?(选择最合适的答案)
- 弹出一个提示,询问用户是否确定要删除请求的行
- 立即删除 DELETE 语句中给定条件所满足的行
- 立即删除请求的行,无需任何提示。
- 以上皆非
49.上面给出的查询的哪些内容是正确的?
- 此查询返回 ORA 错误
- 它成功执行但没有结果
- 来自不同表的查询不能与 SET 运算符一起使用
- 查询成功执行并按预期给出结果
50.如果为上面查询(问题 76 中的选项 C)中的 &N 变量提供的值与任何行都不匹配,将会发生什么?(选择最佳答案)
- 语句将抛出 ORA 错误
- 语句将返回表中的所有行
- 语句将返回 NULL 作为输出结果。
- 语句将不返回任何结果行。
51.使用 UNION ALL 运算符时,结果的默认排序顺序是什么?
- 降序
- 升序
- A 或 B
- 以上皆是
52. 表 T_COUNT 有 12 个数字值,分别为 1、2、3、32、1、1、null、24、12、null、32、null。预测以下查询的输出。
SELECT COUNT (ALL num) FROM t_count;
- 12
- 6
- 9
- 抛出异常,因为 COUNT 函数不适用于 NULL 值
53.子查询可以嵌套的最大级别是多少?
- 255
- 100
- 2
- 16
54. 表 T_COUNT 有 12 个数字值,分别为 1、2、3、32、1、1、null、24、12、null、32、null。预测以下查询的输出。
SELECT COUNT (DISTINCT num) FROM t_count;
- 12
- 6
- 9
- 抛出异常,因为 COUNT 函数不适用于 NULL 值
55.以下是关于 SQL 中 VARIANCE 函数的一些语句。
i. 该函数接受多个数字输入并返回所有值的方差
ii. 该函数接受一个数字列并返回所有列值(包括 NULL)的方差
iii. 该函数接受一个数字列并返回所有列值(不包括 NULL)的方差
从以下选项中选择正确的组合。
- i 和 iii
- i 和 ii
- ii
- iii
56. 使用 group by 函数基于聚合结果过滤查询输出的子句是哪个?
- WHERE
- LIMIT
- GROUP WHERE
- HAVING
57. 名为“Kevin”的用户想要访问另一个名为“Jonathan”的用户拥有的表。以下哪项对 Kevin 有效?
- 从 Kevin.employees 中选择 *;
- 从 jonathan.employees 中选择 *;
- A 或 B
- 以上皆非
58.关于用于子查询的 ALL 运算符,哪些内容是正确的?(选择最合适的答案。)
- 返回与列表/子查询中所有值匹配的行
- 仅返回与列表/子查询中某些值匹配的行
- 仅当列表/子查询中的所有值都匹配时才返回行
- 以上皆是
59. 假设您在上面问题中使用的视图查询中选择不同的部门和员工薪资。如果您尝试从视图 dept_sum_vu 中删除行,结果会怎样?
- 行将被删除,没有任何错误
- 仅删除前 10 行
- 无法删除行。
- 以上皆非
60.如果复合查询的 SELECT 列表同时返回 VARCHAR2 和 NUMBER 数据类型结果,会发生什么情况?
- Oracle 将隐式转换它们并返回 VARCHAR2 数据类型结果
- Oracle 将隐式转换它们并返回 NUMBER 数据类型结果
- 抛出 ORA 错误
- 以上皆非
61. 关于模式,哪些内容是正确的?
- 模式由数据库用户拥有,并且与该用户具有相同的名称
- 每个用户拥有一个模式
- 模式对象包括数据库链接
- 以上皆是
62. 关于上述 INSERT 语句,值将按照什么顺序插入?
- Location_id、manager_id、department_name、department_id
- department_id、department_name、manager_id、location_id
- department_id、manager_id、department_name、location_id
- department_id、department_name、location_id、manager_id
63. 关于表,以下哪些内容是正确的?
- 为表指定默认值
- 在 INSERT 语句期间,可以为表的列指定默认值
- A 或 B
- 以上皆非
65. 以下哪个 SQL 查询将显示员工姓名、部门和年薪?
SELECT ename, deptno, sal FROM emp;
SELECT ename, deptno, sal + comm FROM emp;
SELECT ename, deptno, (sal * 12) Annual_Sal FROM emp;
- 无法查询年薪,因为表中不存在该列
66. Oracle DB 中的 SUBSTR 函数的哪些内容是正确的?
- 它提取确定长度的字符串
- 它将字符串的长度显示为数字值
- 它查找命名字符的数字位置
- 它从字符字符串的一侧(或两侧)修剪字符
67. 以下哪个 SELECT 语句列出了“Family”类别中所有书籍的最高零售价?
SELECT MAX(retail) FROM books WHERE category = 'FAMILY';
SELECT MAX(retail) FROM books HAVING category = 'FAMILY';
SELECT retail FROM books WHERE category = 'FAMILY' HAVING MAX(retail);
- 以上皆非
68. 以下哪个函数可用于在计算中包含 NULL 值?
- SUM
- NVL
- MAX
- MIN
69.问题 34 和 35 推断出的结论哪个描述最准确?
- 作业代码存在重复值
- 查询执行但产生的结果出乎意料
- 部门没有重复值
- 以上皆非
70. 以下查询的结果是什么?
SELECT length('hi') FROM dual;
- 2
- 3
- 1
- hi
答案
答案(1):A. ROUND 函数将根据指定的精度 -1 对值 144.23 进行四舍五入,并返回 140。
检查给定 EMPLOYEES 表的结构,并回答后续的第 2 和第 3 个问题。
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
答案(2):A. 使用括号将显式更改使用 INTERSECT 与其他运算符一起使用时的计算顺序。
答案(3):A、D. 严格来说,SELECT 是一个 DML 命令,因为它是在操作表中存在的数据时必需的子句之一。
答案(4):A.选择所需的表,每个表之间用逗号分隔。
答案(5):C. 简单视图和复杂视图是两种类型的视图。简单视图基于仅引用一个表的子查询,并且不包含组函数、表达式或 GROUP BY 子句。复杂视图基于从一个或多个表检索或派生数据的子查询,并且可以包含函数或分组数据。
答案(6):C. 使用 SET 运算符时,所有组合都应具有相同数量的列。构成复合查询的查询中的对应列必须属于相同的数据类型组。
答案:(7) D. 多行子查询返回多行结果。可用于多行子查询的运算符包括 IN、ALL、ANY 和 EXISTS。
答案(8):C. 可以创建索引以加快查询过程。当存在索引时,DML 操作总是比较慢。Oracle 11g 会自动为 PRIMARY KEY 和 UNIQUE 约束创建索引。显式索引是使用 CREATE INDEX 命令创建的。如果查询条件或排序操作基于用于创建索引的列或表达式,则 Oracle 11g 可以自动使用索引。
答案(9):A. 使用 SELECT 子句是将行插入表中最常用的技术。它减少了为每一列手动键入值的工作量。
答案(10):A. 视图定义可以利用子查询。
答案(11):C. DESCRIBE 用于显示表结构以及表列、其数据类型和空值。
答案(12):C. 任何与 NULL 的算术运算都将导致 NULL。
答案()13:C、D。
答案(14):C. 尽管 ANSI SQL: 1999 语法不像传统的 Oracle 语法那样常用,但它仍然是 Oracle SQL 中可能使用的语法之一。
答案(15):B. 相关子查询引用外层查询中的列,并为外层查询中的每一行执行一次子查询,而非相关子查询首先执行子查询并将值传递给外层查询。
答案(16):D. 更新列值时必须遵守列上的约束。在给定的 UPDATE 语句中,将抛出错误,因为 EMPLOYEE_ID 列是 EMPLOYEES 表中的主键,这意味着它不能为 NULL。
答案(17):D. 可以省略 WHERE 子句,并将相关条件包含在 JOIN..ON 子句本身中,如给定查询所示。
答案(18):A. Table1 JOIN table2 JOIN table3 不允许在每个 JOIN 之间没有 ON 子句的情况下使用。
答案(19):C. Oracle 会忽略表达式右操作数中的前导零。
答案(20):A、C. 不能使用与 Oracle 服务器保留字相同的名称创建表。
答案(21):C. BETWEEN 运算符可以在子查询中使用,但不能与子查询一起使用。
答案(22):D.函数可以执行计算、执行大小写转换和类型转换。
答案(23):A、C. 联接可以是内部联接,其中仅返回在所有表中都有匹配记录的记录,也可以是外部联接,其中可以返回记录,无论在联接表中是否存在匹配记录。当需要在结果中包含记录而无需在联接表中具有对应记录时,将创建外部联接。这些记录与 NULL 记录匹配,以便将其包含在输出中。
答案(24):B. 如果在 CREATE 子句中包含 FORCE 关键字,则 Oracle 11g 会创建视图,即使没有任何引用的表。NOFORCE 是 CREATE VIEW 命令的默认模式,这意味着所有表和列都必须有效,否则视图将不会创建。
答案(25):D。
答案(26):A、B. 用户必须拥有 CREATE TABLE 权限,并且必须有足够的可用空间来分配表段的初始扩展。
答案(27):A。
答案(28):C. FULL OUTER JOIN 返回两个表中不匹配的行。完全外部联接包含两个表中的所有记录,即使在另一个表中找不到相应的记录。
答案(29):B. 在 SQL 中,连接运算符由两个竖线 (||) 表示。
答案(30):C. 可以使用括号对特定查询进行分组,以显式更改优先级。在执行过程中,括号优先于其他 SET 运算符。
答案(31):A. UNION 返回两个查询的组合行,对它们进行排序并删除重复项。
答案(32):C. WITH READ ONLY 选项可防止对视图执行任何 DML 操作。当用户只能查询数据而不能对其进行任何更改时,通常会使用此选项。
答案(33):B, C. NOFORCE 是 CREATE VIEW 命令的默认模式,这意味着所有表和列都必须有效,否则视图将不会创建。
答案(34):B. OR REPLACE 选项通知 Oracle 11g,可能已经存在同名的视图;如果存在,则应将视图的先前版本替换为新命令中定义的版本。
答案(35):A. 函数基本上有两种类型:单行函数和多行函数。
答案(36):B. 字符、日期、转换、通用、数字是单行函数的类型。
答案(37):B. 多行函数始终作用于一组行,并为每组行返回一个值。
答案(38):C. 分组函数与多行函数和聚合函数相同。
答案(39):A. COUNT(*) 统计包括重复项和 NULL 值在内的行数。使用 DISTINCT 和 ALL 关键字来限制重复值和 NULL 值。
答案(40):D. 表必须至少包含一列、其数据类型规范以及精度(如果需要)。
答案(41):C. 指定别名是一个良好的实践,可以提高代码和视图查询的可读性。
答案(42):C. COUNT(列) 忽略 NULL 值,但计算重复值。
答案(43):C. NATURAL JOIN 子句隐式匹配所有名称相同的列。要添加其他条件,可以使用 WHERE 子句。
答案(44):A. GROUPING SETS 操作可用于使用单个查询执行多个 GROUP BY 聚合。
答案(45):B. 列别名的顺序关系不大,因为它们不包含任何行为属性。
答案(46):B. DELETE 语句中的 WHERE 子句谓词是可选的。如果省略 WHERE 子句,则将删除表的所有行。
答案(47):B. 假设 employees 表中的姓氏都使用正确的格式,则条件 WHERE last_name = 'smith' 将不满足,因此不会显示任何结果。
答案(48):C. 作为活动事务或新事务的一部分,将删除表中的行。
答案(49):D. 复合查询是由多个使用不同表的查询组成的查询。
答案(50):D。
答案(51):B. 复合查询默认情况下会返回按所有列排序的行,从左到右按升序排序。唯一的例外是 UNION ALL,其中行不会排序。允许使用 ORDER BY 子句的唯一位置是复合查询的末尾。
答案(52):C. COUNT(ALL 列) 忽略 NULL 值,但计算重复值。
答案(53):A。
答案(54):B. COUNT(DISTINCT 列) 统计不为 NULL 的不同值。
答案(55):C. VARIANCE 函数接受列名称作为单个数值参数,并返回所有列值的方差,同时考虑 NULL 值。
答案(56):D. HAVING 子句用于限制组结果。使用 HAVING 子句指定要显示的组,从而根据聚合信息进一步限制组。HAVING 子句可以在 GROUP BY 子句之前,但建议您先放置 GROUP BY 子句,因为它更符合逻辑。在将 HAVING 子句应用于 SELECT 列表中的组之前,会先形成组并计算组函数。
答案(57):B。
答案(58):C. '> ALL' 大于子查询返回的最高值。'< ALL' 小于子查询返回的最低值。'< ANY' 小于子查询返回的最高值。'> ANY' 大于子查询返回的最低值。'= ANY' 等于子查询返回的任何值(与 IN 相同)。'[NOT] EXISTS' 行必须与子查询中的值匹配。
答案(59):C. 视图 DEPT_SUM_VU 仍然是复杂视图,因为它使用了 DISTINCT 关键字。因此,无法对其执行 DML 操作。
答案(60):C. Oracle 不会隐式转换数据类型。
答案(61):D. 数据库中的用户空间称为模式。模式包含用户拥有或访问的对象。每个用户都可以拥有自己的单个模式。
答案(62):B. 如果在 INSERT 子句中提到了列,则 VALUES 关键字应按相同顺序包含值。
答案(63):B. 在定义期间,可以使用 DEFAULT 关键字为列指定默认值。
答案(65):C. 在 SELECT 语句中使用数值表达式执行基本的算术计算。
答案(66):A. SUBSTR(字符串, x, y) 函数接受三个参数,并返回一个字符串,该字符串包含从源字符串提取的字符数,从指定的起始位置 (x) 开始。当位置为正时,函数从字符串的开头开始计数以查找第一个字符。当位置为负时,函数从字符串的末尾向后计数。
答案(67):A. 由于必须在分组之前限制 FAMILY 类别,因此必须使用 WHERE 子句而不是 HAVING 子句来过滤表行。
答案(68):B. NVL 是一个通用函数,用于为 NULL 值提供备用值。在使用 AVG、STDDEV 和 VARIANCE 组函数进行算术计算时,它确实可以发挥作用。
答案(69):C. 由于工作代码和部门的组合是唯一的,因此没有获得重复项。
答案(70):A. LENGTH 函数仅给出字符串的长度。