- 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 - SQL SELECT 語句練習題
1. 識別 SELECT 語句的功能。
- 投影
- 選擇
- 資料控制
- 事務
答案:A、B。SELECT 語句可用於選擇、投影和連線。
2. 確定給定查詢中演示的 SELECT 語句的功能。
SELECT e.ename, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno AND e.sal > 1000;
- 選擇
- 過濾
- 連線
- 投影
答案:A、C、D。投影是指僅在查詢中包含所需的列,而選擇是指僅選擇所需的資料。連線是指透過連線列將兩個表組合在一起。
3. 以下哪個子句用於在 SELECT 語句中抑制重複項?
- INTERSECT
- DUPLICATE
- DISTINCT
- UNIQUE
答案:C、D。可以使用 SELECT 語句中的 DISTINCT 或 UNIQUE 來限制重複資料。
4. 選擇正確指定編寫 SQL 語句規則的語句
- SQL 語句區分大小寫
- 關鍵字可以縮寫以構建標準
- SQL 語句不區分大小寫
- 子句必須放在一起
答案:C。SQL 語句不區分大小寫。
5. 確定以下查詢的輸出 -
SELECT '5+7' FROM dual;
- 12
- 5+7
- 5
- 7
答案:B。Oracle 將雙引號內的值視為字串表示式。
6. 編寫一個查詢,以顯示 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;
答案 A。從每個表中選擇所需內容,並用逗號隔開。
7. 以下哪個查詢顯示員工姓名和增加 1000 後的新工資?
SELECT ename, sal FROM emp;
SELECT ename, sal=sal+1000 FROM emp;
SELECT ename, sal+1000 FROM emp;
SELECT ename, 1000 FROM emp;
答案:C。可以使用 SELECT 語句中的列進行基本的算術運算。
8. 確定以下查詢的輸出
SELECT 36/2-5*10 FROM dual;
- 130
- -32
- -120
- 175
答案:B。乘法和除法在加法和減法之前執行。
9. 確定以下查詢的輸出
SELECT (100-25)/15*(20-3) FROM dual;
- 0.294
- -85
- 63.67
- 85
答案:D。括號內的表示式在表示式中的除法和乘法之前執行。
10. 選擇正確定義 NULL 值的語句。
- NULL 是一個具有零位元組的特殊值
- NULL 是沒有值或未知值
- NULL 由空格表示
- NULL 不等於零
答案:B、D。NULL 是沒有值,但既不等於零也不等於空格字元。
11. 確定以下查詢的輸出
SELECT sal + NULL FROM emp WHERE empno = 7369;
- sal + NULL
- NULL
- 0
- 1250
答案:B。任何與 NULL 的算術運算都會導致 NULL。
12. 以下哪些語句正確定義了列別名?
- 列別名重新命名列標題
- 列別名是表中的備用列
- 列別名可以在表定義期間指定
- 列別名緊跟 SELECT 語句中的列或表示式
答案:A、D。列別名可用於命名 SELECT 語句中的表示式。
13. 為以下 SQL 查詢中包含 salary 的表示式指定列別名 NEWSAL
SELECT ename, job, sal + 100 FROM emp;
- (sal + 100) AS NEWSAL
- (sal + 100) NEWSAL
- (sal + 100) IS NEWSAL
- sal + 100 IS NEWSAL
答案:A、B。使用 'AS' 來表示列表達式的新的別名。
14. 為以下 SQL 查詢中包含 salary 的表示式指定列別名“New Salary”
SELECT ename, job, sal + 100 FROM emp;
- (sal + 100) AS New Salary
- (sal + 100) "New Salary"
- (sal + 100) IS New Salary
- sal + 100 as "New Salary"
答案:B、D。帶有空格和特殊字元的列別名必須用雙引號括起來。
15. 使用哪個命令顯示錶的結構?
- LIST
- SHOW
- DESCRIBE
- STRUCTURE
答案:C。DESCRIBE 用於顯示錶結構。
16. 預測在 SQL*Plus 中執行以下語句時的輸出?
DESC emp
- 引發錯誤“SP2-0042: unknown command "desc emp" - rest of line ignored.”
- 列出 EMP 表的列
- 列出 EMP 表的列、其資料型別和空值
- 列出 EMP 表的列及其資料型別
答案:C。DESCRIBE 用於顯示錶結構以及表列、其資料型別和空值
17. 以下關於 DESCRIBE 命令的哪些語句是正確的?
- 它只能在 SQL*Plus 中使用
- 它可以在 SQL*Plus 和 SQL Developer 中使用
- 它不適用於物件表
- 它不適用於 SYS 擁有的表
答案:B。
18. 以下哪些字母數字字元用於表示 SQL 中的連線運算子?
- +
- ||
- -
- ::
答案:B。在 SQL 中,連線運算子由兩個垂直線 (||) 表示。
19. 以下關於 SQL 中連線運算子用法的哪些語句是正確的?
- 它在表中建立一個虛擬列
- 它生成一個字元表示式,作為一個或多個字串連線的結果
- 它在兩個字元列之間建立連結
- 它可用於將日期表示式與其他列連線起來
答案:B、D。連線運算子將兩個值作為表示式連線起來。
20. 預測以下查詢的輸出
SELECT ename || NULL FROM emp WHERE empno = 7369
- SMITH
- SMITH NULL
- SMITHNULL
- ORA-00904: "NULL": invalid identifier
答案:A。與 NULL 的連線導致相同的值。
21. 預測以下查詢的輸出
SELECT 50 || 0001 FROM dual
- 500001
- 51
- 501
- 5001
答案:C。Oracle 會忽略表示式右運算元中的前導零。
22. 您執行以下查詢
SELECT e.ename||' departments's name is:'|| d.dname FROM emp e, dept d where e.deptno=d.deptno;
並獲得異常 - ORA-01756: quoted string not properly terminated。以下哪些解決方案可以永久解決此問題?
- 對文字字元字串使用雙引號
- 使用 [q] 運算子引用文字字元字串並選擇所需的定界符
- 從文字字元字串中刪除單引號(撇號)
- 使用其他定界符繞過文字字串中的單引號撇號
答案:B。[q] 運算子用於用引號引用字元文字。
23. 以下哪個 SELECT 語句顯示了 [q] 運算子的正確用法?
SELECT e.ename || q'[department's name is]'|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
SELECT e.ename || q['department's name is']|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
SELECT e.ename || q[department's name is]|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
SELECT e.ename || q'(department's name is)'|| d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;
答案:A
24. 以下哪個 SELECT 語句用於選擇 EMP 表的所有列?
SELECT ALL FROM emp
SELECT # FROM emp
SELECT * FROM emp
SELECT empno,ename,deptno,sal,job,mgr,hiredate FROM emp
答案:C。字元 '*' 用於選擇表的所有列。
25. 以下哪個 SQL 查詢將顯示員工姓名、部門和年薪?
SELECT ename, deptno, sal FROM emp;
SELECT ename, deptno, sal + comm FROM emp;
SELECT ename, deptno, (sal * 12) Annual_Sal FROM emp;
- 無法查詢年薪,因為表中不存在該列
答案:C。在 SELECT 語句中使用數字表達式執行基本的算術運算。