SQL 認證模擬考試



1. 以下查詢的結果是什麼?

SELECT ROUND(144.23,-1) FROM dual;
  1. 140
  2. 144
  3. 150
  4. 100

2. 在以下哪些情況下,需要指定括號?

  1. 當 INTERSECT 與其他集合運算子一起使用時
  2. 當 UNION 與 UNION ALL 一起使用時
  3. 當 MINUS 用於查詢時
  4. 以上皆非

3. 以下哪些是 Oracle 資料庫中的 DML 命令?

  1. SELECT
  2. GROUP BY
  3. INTERSECT
  4. INSERT

4. 編寫一個查詢,以顯示 EMP 表中的員工詳細資訊(姓名、部門、工資和職位)。

  1. SELECT ename, deptno, sal, job FROM emp;
  2. SELECT * FROM emp;
  3. SELECT DISTINCT ename, deptno, sal, job FROM emp;
  4. SELECT ename, deptno, sal FROM emp;

5. 以下哪些是不同型別的檢視?

  1. 簡單檢視
  2. 複雜檢視
  3. A 和 B 都是
  4. 以上皆非

6. 關於集合運算子,哪個說法是正確的?

  1. SELECT 子句應具有相同數量的列,資料型別可以不同
  2. 集合運算子只能用於組合兩個查詢
  3. 第二個查詢中每列的資料型別必須與第一個查詢中對應列的資料型別匹配。
  4. 以上皆非

7. 以下哪些多行運算子可以與子查詢一起使用?

  1. IN
  2. ANY
  3. ALL
  4. 以上皆是

8. 什麼時候可以建立表?

  1. 當資料庫未被任何使用者使用時
  2. 當資料庫新建立時
  3. 它可以在任何時間建立,即使使用者正在使用資料庫
  4. 以上皆非

9. 以下哪種是將行插入表的常用技術?(選擇最合理和最合適的答案)

  1. 使用 SELECT 子句
  2. 手動將每個值鍵入 INSERT 子句中
  3. 使用集合運算子
  4. 以上皆非

10. 以下關於檢視哪個說法是正確的?

  1. 可以在 CREATE VIEW 語句中嵌入子查詢
  2. CREATE VIEW 語句中使用的子查詢必須具有簡單的 SELECT 語法
  3. 當在 CREATE VIEW 語句中使用子查詢時,不能使用 WHERE 子句
  4. 以上皆非

11. 在 SQL*Plus 中執行以下語句時,預測輸出結果?

DESC emp
  1. 引發錯誤“SP2-0042: 未知命令“desc emp” - 忽略其餘行。”
  2. 列出 EMP 表的列
  3. 列出 EMP 表的列、其資料型別和空值
  4. 列出 EMP 表的列及其資料型別

12. 以下查詢的結果是什麼?

SELECT 100+NULL+999 FROM dual;
  1. 100
  2. 999
  3. NULL
  4. 1099

13. 關於給定查詢,如果將使用的 JOIN 替換為 NATURAL JOIN,則會引發錯誤。此錯誤的原因是什麼?

  1. 當使用 NATURAL JOIN 時,WHERE 子句是必需的,省略它會引發錯誤
  2. ON 子句應替換為 USING 子句
  3. 在同一連線子句的上下文中,NATURAL、JOIN 和 USING 是互斥的
  4. 查詢在連線時不能組合 NATURAL JOIN 和 ON(或 USING)子句。

14. 以下哪個語法模型在全球軟體系統中得到廣泛使用?

  1. ANSI SQL: 1999
  2. 傳統的 Oracle 語法和 ANSI SQL: 1999 語法
  3. 傳統的 Oracle 語法
  4. 所有選項

15. 關於相關子查詢,哪個說法是正確的?

  1. 主查詢中使用的表也用於相關子查詢
  2. 引用主查詢中使用的列的子查詢稱為相關子查詢
  3. 不帶括號編寫的子查詢稱為相關子查詢
  4. 強制使用與主查詢中使用的表不同的表的子查詢稱為相關子查詢

16. 您發出以下 UPDATE 語句

UPDATE employees 
SET employee_id   = NULL;
WHERE job_id  = 'CLERK';

以上語句的結果是什麼?(此處,EMPLOYEE_ID 列透過新增約束標記為必填)

  1. 資料集的第一列將更新為 NULL
  2. 第一行的第三列將更新為 NULL
  3. 所有行的第三列將更新為 NULL
  4. 並且會丟擲 ORA 錯誤

17.關於以上查詢,哪個說法是正確的?

  1. 由於缺少必需的 WHERE 子句,因此會引發 ORA 錯誤
  2. JOIN..ON 子句不能包含多個條件
  3. 查詢會忽略最後一個條件並執行,不會引發 ORA 錯誤
  4. 可以按照以上給出的格式編寫 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 );

此查詢導致錯誤。錯誤的原因是什麼?

  1. JOINOUSING 只能在兩個表之間發生
  2. 查詢中的 USING 子句沒有 department 的任何列
  3. 查詢中沒有 WHERE 子句
  4. 以上皆非

19. 預測以下查詢的輸出

SELECT 50 || 0001
FROM dual
  1. 500001
  2. 51
  3. 501
  4. 5001

20. 您建立一個表並將其命名為 COUNT。CREATE TABLE 指令碼的結果是什麼?

  1. 表將不會建立
  2. 表將被建立,並且會自動在名稱 COUNT_ 中新增下劃線
  3. 將丟擲 ORA 錯誤
  4. 表 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); 

此查詢返回錯誤。錯誤的原因是什麼?

  1. 由於使用了 MAX 函式,因此應使用 GROUP BY 子句
  2. 兩個子查詢不能在同一個外部查詢中使用相同的部門 ID
  3. BETWEEN 運算子不能與子查詢一起使用
  4. SELECT 子句應包含列,而不是星號 (*)

22. 以下哪個不是函式的屬性?

  1. 對資料執行計算
  2. 轉換列資料型別
  3. 修改單個數據項
  4. 以上皆非

23.關於 Oracle DB 中的 INNER JOIN 和 OUTER JOIN,哪個說法是正確的?

  1. INNER JOIN 僅返回匹配的行
  2. OUTER JOIN 僅返回不匹配的行
  3. OUTER JOIN 返回匹配的行以及不匹配的行
  4. 以上皆非

24. 以下哪個可以在基礎表不存在的情況下建立檢視?

  1. NOFORCE
  2. FORCE
  3. OR REPLACE
  4. CREATE VIEW

25. Oracle 支援以下哪些 ANSI SQL: 1999 連線語法連線?

  1. 笛卡爾積
  2. 自然連線
  3. 完整外部連線
  4. 等值連線

26. 建立表的前提條件有哪些?

  1. CREATE TABLE 許可權
  2. 儲存空間
  3. 表中的資料
  4. 以上皆非

27. 建立表的語法是什麼?

  1. CREATE TABLE [schema.] table (column datatype [DEFAULT expr] [,..] );
  2. CREATE TABLE INTO [schema.] table (column datatype [DEFAULT expr] [,..] );
  3. CREATE TABLE VALUES [schema.] table (column datatype [DEFAULT expr] [,..] );
  4. 以上皆非

28.您需要顯示 EMPLOYEES 表中所有不匹配的行和 DEPARTMENT 表中所有不匹配的行,而不會在它們之間給出行的笛卡爾積。以下哪個查詢將給出所需的輸出?

  1. SELECT *
    FROM employees e, department d
    WHERE e.department_id  = d.department_id ; 
    
  2. SELECT *
    FROM employees e NATURAL JOIN department d; 
    
  3. SELECT *
    FROM employees e FULL OUTER JOIN department d
    ON  e.department_id  = d.department_id ; 
    
  4. SELECT *
    FROM employees e JOIN  department d
    ON ( e.department_id  > d.department_id ) ; 

29. 以下哪些字母數字字元用於表示 SQL 中的連線運算子?

  1. +
  2. ||
  3. -
  4. ::

30.考慮到集合運算子具有相同的優先順序,更改其優先順序的最佳方法是什麼?

  1. 可以更改集合運算子的使用順序以更改其優先順序
  2. 無法更改相同的優先順序
  3. 可以使用括號更改優先順序
  4. 以上皆非

31.此查詢結果中將顯示什麼?

  1. 它將顯示 EMPLOYEES 和 DEPARTMENTS 表中共同包含的不同部門 ID。
  2. 它將丟擲 ORA 錯誤
  3. 沒有選定的行
  4. 以上皆非

32. 以下哪個命令確保無法對檢視執行任何 DML 操作?

  1. NOFORCE
  2. FORCE
  3. WITH READ ONLY
  4. OR REPLACE

33. 關於 CREATE VIEW 語句中的 NOFORCE 選項,哪個說法是正確的?

  1. 即使基礎表不存在,它也會建立檢視。
  2. 只有在基礎表存在時,它才會建立檢視。
  3. 它是建立檢視時的預設選項。
  4. 以上皆非

34. 關於 OR REPLACE 關鍵字,哪個說法是正確的?

  1. 使用此關鍵字建立檢視時,物件許可權將丟失
  2. 無需重新授予之前授予的許可權
  3. A 和 B 都不正確
  4. 以上皆非

35. 以下哪個是 Oracle SQL 函式的型別?

  1. 多行函式
  2. 單列函式
  3. 單值函式
  4. 多列函式

36. 以下哪個是單行函式的型別?

  1. VARCHAR2
  2. 字元
  3. LONG
  4. NULLIF

37. 關於多行函式,哪個說法最合適?

  1. 它們為每一行返回多個值。
  2. 它們為每一組行返回一個結果,並且可以操縱行組。
  3. 它們為每一行返回一個結果,並且可以操縱行組。
  4. 它們為每一組行返回多個值。

38. 以下哪些也稱為組函式?

  1. 單行函式
  2. 多組函式
  3. 多行函式
  4. 單組函式。

39. 表 T_COUNT 有 12 個數字值,分別為 1、2、3、32、1、1、null、24、12、null、32、null。預測以下查詢的輸出。

SELECT COUNT (*) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. 丟擲異常,因為 COUNT 函式不適用於 NULL 值

40. 建立表時必須指定哪個元素?

  1. 列名
  2. 列資料型別
  3. 列大小
  4. 以上皆是

41. 關於以上語句,可以說什麼?

  1. 為檢視提供了備用名稱
  2. 如果任何列派生自函式或表示式,則必須提供備用名稱
  3. A 和 B 都是
  4. 以上皆非

42. 表 T_COUNT 有 12 個數字值,分別為 1、2、3、32、1、1、null、24、12、null、32、null。預測以下查詢的輸出。

SELECT COUNT (num) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. 丟擲異常,因為 COUNT 函式不適用於 NULL 值

43. 您需要僅查詢部門 100 和 101 獲得的以上查詢結果。應向以上查詢新增/修改以下哪些子句?

  1. 應新增 ON (e.department_id = d.department_id )
  2. 應新增 USING (e.department_id )
  3. 應新增 WHERE e.department_id in (100,101)
  4. 以上皆非

44. 以下哪個不是 SQL 中的 GROUP BY 擴充套件?

  1. GROUP BY
  2. GROUPING SETS
  3. CUBE
  4. 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; 
  1. 它與原始語句沒有任何區別
  2. 它將成功執行並給出相同的結果,但別名名稱會發生變化。
  3. 它將丟擲 ORA 錯誤
  4. 以上皆非

46. 關於 DELETE 語句,以下哪個說法是正確的?

  1. DELETE 語句必須與 WHERE 子句一起使用
  2. 不必在 DELETE 語句中編寫 WHERE 子句
  3. DELETE 可以一次刪除多個表中的資料
  4. 以上皆非

47. 假設 employees 表中員工的姓氏都使用正確的格式,以下查詢的結果是什麼?

SELECT employee_id, last_name, department_id  FROM employees WHERE last_name = 'smith';
  1. 它將顯示姓氏為 Smith 的員工的詳細資訊
  2. 它將不返回任何結果。

  3. 它將提供所有小寫字母的姓氏為“Smith”的員工的詳細資訊。
  4. 它將提供所有首字母大寫形式的姓氏為“Smith”的員工的詳細資訊。

48.在對錶發出 DELETE 語句時,以下哪項會發生?(選擇最合適的答案)

  1. 彈出一個提示,詢問使用者是否確定要刪除請求的行
  2. 立即刪除 DELETE 語句中給定條件所滿足的行
  3. 立即刪除請求的行,無需任何提示。
  4. 以上皆非

49.上面給出的查詢的哪些內容是正確的?

  1. 此查詢返回 ORA 錯誤
  2. 它成功執行但沒有結果
  3. 來自不同表的查詢不能與 SET 運算子一起使用
  4. 查詢成功執行並按預期給出結果

50.如果為上面查詢(問題 76 中的選項 C)中的 &N 變數提供的值與任何行都不匹配,將會發生什麼?(選擇最佳答案)

  1. 語句將丟擲 ORA 錯誤
  2. 語句將返回表中的所有行
  3. 語句將返回 NULL 作為輸出結果。
  4. 語句將不返回任何結果行。

51.使用 UNION ALL 運算子時,結果的預設排序順序是什麼?

  1. 降序
  2. 升序
  3. A 或 B
  4. 以上皆是

52. 表 T_COUNT 有 12 個數字值,分別為 1、2、3、32、1、1、null、24、12、null、32、null。預測以下查詢的輸出。

SELECT COUNT (ALL num) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. 丟擲異常,因為 COUNT 函式不適用於 NULL 值

53.子查詢可以巢狀的最大級別是多少?

  1. 255
  2. 100
  3. 2
  4. 16

54. 表 T_COUNT 有 12 個數字值,分別為 1、2、3、32、1、1、null、24、12、null、32、null。預測以下查詢的輸出。

SELECT COUNT (DISTINCT num) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. 丟擲異常,因為 COUNT 函式不適用於 NULL 值

55.以下是關於 SQL 中 VARIANCE 函式的一些語句。

i. 該函式接受多個數字輸入並返回所有值的方差

ii. 該函式接受一個數字列並返回所有列值(包括 NULL)的方差

iii. 該函式接受一個數字列並返回所有列值(不包括 NULL)的方差

從以下選項中選擇正確的組合。

  1. i 和 iii
  2. i 和 ii
  3. ii
  4. iii

56. 使用 group by 函式基於聚合結果過濾查詢輸出的子句是哪個?

  1. WHERE
  2. LIMIT
  3. GROUP WHERE
  4. HAVING

57. 名為“Kevin”的使用者想要訪問另一個名為“Jonathan”的使用者擁有的表。以下哪項對 Kevin 有效?

  1. 從 Kevin.employees 中選擇 *;
  2. 從 jonathan.employees 中選擇 *;
  3. A 或 B
  4. 以上皆非

58.關於用於子查詢的 ALL 運算子,哪些內容是正確的?(選擇最合適的答案。)

  1. 返回與列表/子查詢中所有值匹配的行
  2. 僅返回與列表/子查詢中某些值匹配的行
  3. 僅當列表/子查詢中的所有值都匹配時才返回行
  4. 以上皆是

59. 假設您在上面問題中使用的檢視查詢中選擇不同的部門和員工薪資。如果您嘗試從檢視 dept_sum_vu 中刪除行,結果會怎樣?

  1. 行將被刪除,沒有任何錯誤
  2. 僅刪除前 10 行
  3. 無法刪除行。
  4. 以上皆非

60.如果複合查詢的 SELECT 列表同時返回 VARCHAR2 和 NUMBER 資料型別結果,會發生什麼情況?

  1. Oracle 將隱式轉換它們並返回 VARCHAR2 資料型別結果
  2. Oracle 將隱式轉換它們並返回 NUMBER 資料型別結果
  3. 丟擲 ORA 錯誤
  4. 以上皆非

61. 關於模式,哪些內容是正確的?

  1. 模式由資料庫使用者擁有,並且與該使用者具有相同的名稱
  2. 每個使用者擁有一個模式
  3. 模式物件包括資料庫連結
  4. 以上皆是

62. 關於上述 INSERT 語句,值將按照什麼順序插入?

  1. Location_id、manager_id、department_name、department_id
  2. department_id、department_name、manager_id、location_id
  3. department_id、manager_id、department_name、location_id
  4. department_id、department_name、location_id、manager_id

63. 關於表,以下哪些內容是正確的?

  1. 為表指定預設值
  2. 在 INSERT 語句期間,可以為表的列指定預設值
  3. A 或 B
  4. 以上皆非

65. 以下哪個 SQL 查詢將顯示員工姓名、部門和年薪?

  1. SELECT ename, deptno, sal FROM emp;
  2. SELECT ename, deptno, sal + comm FROM emp;
  3. SELECT ename, deptno, (sal * 12) Annual_Sal FROM emp;
  4. 無法查詢年薪,因為表中不存在該列

66. Oracle DB 中的 SUBSTR 函式的哪些內容是正確的?

  1. 它提取確定長度的字串
  2. 它將字串的長度顯示為數字值
  3. 它查詢命名字元的數字位置
  4. 它從字元字串的一側(或兩側)修剪字元

67. 以下哪個 SELECT 語句列出了“Family”類別中所有書籍的最高零售價?

  1. SELECT MAX(retail) FROM books WHERE category = 'FAMILY';
  2. SELECT MAX(retail) FROM books HAVING category = 'FAMILY';
  3. SELECT retail FROM books WHERE category = 'FAMILY' HAVING MAX(retail);
  4. 以上皆非

68. 以下哪個函式可用於在計算中包含 NULL 值?

  1. SUM
  2. NVL
  3. MAX
  4. MIN

69.問題 34 和 35 推斷出的結論哪個描述最準確?

  1. 作業程式碼存在重複值
  2. 查詢執行但產生的結果出乎意料
  3. 部門沒有重複值
  4. 以上皆非

70. 以下查詢的結果是什麼?

SELECT length('hi') FROM dual;
  1. 2
  2. 3
  3. 1
  4. 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 函式僅給出字串的長度。

廣告