Sử dụng các câu hỏi về toán tử đặt
1.Which SET operator does the following figure indicate?
- UNION
- ĐOÀN KẾT TẤT CẢ
- INTERSECT
- MINUS
Answer: A. Toán tử tập hợp được sử dụng để kết hợp kết quả của hai (hoặc nhiều) câu lệnh SELECT. Các toán tử tập hợp giá trị trong Oracle 11g là UNION, UNION ALL, INTERSECT và MINUS. Khi được sử dụng với hai câu lệnh SELECT, toán tử tập hợp UNION trả về kết quả của cả hai truy vấn. Tuy nhiên, nếu có bất kỳ bản sao nào, chúng sẽ bị xóa và bản ghi trùng lặp chỉ được liệt kê một lần. set operator.INTERSECT chỉ liệt kê các bản ghi được trả về bởi cả hai truy vấn; toán tử bộ MINUS loại bỏ kết quả của truy vấn thứ hai khỏi đầu ra nếu chúng cũng được tìm thấy trong kết quả của truy vấn đầu tiên. Các phép toán tập hợp INTERSECT và MINUS tạo ra kết quả không trùng lặp.
2.Which SET operator does the following figure indicate?
- UNION
- ĐOÀN KẾT TẤT CẢ
- INTERSECT
- MINUS
Answer: B. UNION ALL Trả về các hàng được kết hợp từ hai truy vấn mà không cần sắp xếp hoặc loại bỏ các hàng trùng lặp.
3.Which SET operator does the following figure indicate?
- UNION
- ĐOÀN KẾT TẤT CẢ
- INTERSECT
- MINUS
Answer: C. INTERSECT Chỉ trả về các hàng xuất hiện trong cả hai tập kết quả của truy vấn, sắp xếp chúng và loại bỏ các hàng trùng lặp.
4.Which SET operator does the following figure indicate?
- UNION
- ĐOÀN KẾT TẤT CẢ
- INTERSECT
- MINUS
Answer: D. MINUS Chỉ trả về các hàng trong tập kết quả đầu tiên không xuất hiện trong tập kết quả thứ hai, sắp xếp chúng và loại bỏ các hàng trùng lặp.
5.What is true about SET operators?
- Chúng thay đổi giá trị của các hàng
- Chúng kết hợp các kết quả của chỉ hai truy vấn thành phần thành một kết quả
- Chúng kết hợp kết quả của 10 truy vấn thành phần thành hai tập kết quả.
- Chúng kết hợp kết quả của hai hoặc nhiều truy vấn thành phần thành một kết quả
Answer: D. Toán tử tập hợp được sử dụng để kết hợp các kết quả của hai (hoặc nhiều) câu lệnh SELECT. Các toán tử tập hợp hợp lệ trong Oracle 11g là UNION, UNION ALL, INTERSECT và MINUS.
6.What are the queries containing SET operators called?
- Sub-queries
- Truy vấn phụ có liên quan
- NHÓM THEO truy vấn
- Truy vấn tổng hợp
Answer: D.
7.What is true about the UNION operator?
- Nó trả về các hàng từ các truy vấn kết hợp cùng với các giá trị NULL
- Nó trả về các hàng cho các truy vấn kết hợp sau khi loại bỏ các bản sao
- Nó trả về các hàng cho các truy vấn kết hợp cùng với các giá trị trùng lặp
- Nó trả về các hàng cho các truy vấn kết hợp bỏ qua các giá trị NULL
Answer: B. UNION Trả về các hàng được kết hợp từ hai truy vấn, sắp xếp chúng và xóa các hàng trùng lặp.
8.What is true about the UNION ALL operator?
- Nó trả về các hàng từ các truy vấn kết hợp cùng với các giá trị NULL
- Nó trả về các hàng cho các truy vấn kết hợp sau khi loại bỏ các bản sao
- Nó trả về các hàng cho các truy vấn kết hợp cùng với các giá trị trùng lặp
- Nó trả về các hàng cho các truy vấn kết hợp bỏ qua các giá trị NULL
Answer: C. UNION ALL Trả về các hàng được kết hợp từ hai truy vấn mà không cần sắp xếp hoặc loại bỏ các hàng trùng lặp.
9.What is true about the INTERSECT operator?
- Nó trả về các hàng từ các truy vấn kết hợp cùng với các giá trị NULL
- Nó trả về các hàng cho các truy vấn kết hợp sau khi loại bỏ các bản sao
- Nó trả về các hàng chung từ các truy vấn kết hợp
- Không có cái nào ở trên
Answer: C. INTERSECT Chỉ trả về các hàng xuất hiện trong cả hai tập kết quả của truy vấn, sắp xếp chúng và loại bỏ các hàng trùng lặp.
10.What is true about the MINUS operator?
- Nó trả về các hàng từ truy vấn đầu tiên nhưng không trả về từ truy vấn thứ hai
- Nó trả về các hàng cho truy vấn thứ hai nhưng không trả về các hàng từ truy vấn đầu tiên
- Nó trả về các hàng trùng lặp cho các truy vấn kết hợp
- Nó trả về các hàng cho các truy vấn kết hợp bỏ qua các giá trị NULL
Answer: A. MINUS Chỉ trả về các hàng trong tập kết quả đầu tiên không xuất hiện trong tập kết quả thứ hai, sắp xếp chúng và loại bỏ các hàng trùng lặp.
11.What is the precedence of the set operators UNION, UNION ALL, INTERSECT and MINUS?
- UNION, UNION ALL, INTERSECT và MINUS
- MINUS, UNION, UNION ALL và INTERSECT
- INTERSECT, MINUS, UNION ALL, UNION
- Ưu tiên bình đẳng
Answer: D. Toán tử SET có quyền ưu tiên như nhau.
12.What is the order of evaluation of set operators?
- Trái sang phải
- Phải sang trái
- Đánh giá ngẫu nhiên
- Từ trên xuống dưới
Answer: A, D. Giả sử rằng không có nhóm truy vấn sử dụng dấu ngoặc đơn, các toán tử SET sẽ được đánh giá từ trên xuống dưới và từ trái sang phải theo chiều ngang.
13.In which of the following cases, parenthesis should be specified?
- Khi INTERSECT được sử dụng với các toán tử bộ khác
- Khi UNION được sử dụng với UNION ALL
- Khi MINUS được sử dụng cho các truy vấn
- Không có cái nào ở trên
Answer: A. Việc sử dụng dấu ngoặc đơn sẽ thay đổi rõ ràng thứ tự đánh giá khi INTERSECT được sử dụng với các toán tử khác.
14.What is true about the SELECT clause when SET operators are used?
- Không có hạn chế đối với các cột được chọn
- Các cột, biểu thức được sử dụng trong mệnh đề SELECT phải khớp với số lượng trong các truy vấn kết hợp
- Các cột, biểu thức được sử dụng trong mệnh đề SELECT phải là N trong truy vấn đầu tiên và N-1 trong các truy vấn kết hợp tiếp theo
- Cả B và C
Answer: B. Tất cả kết hợp phải có cùng số không. của các cột khi sử dụng toán tử SET. Các cột tương ứng trong các truy vấn tạo nên một truy vấn ghép phải thuộc cùng một nhóm kiểu dữ liệu.
15.What is true about the SET operators?
- Mệnh đề SELECT phải có cùng số cột, kiểu dữ liệu có thể khác nhau
- Toán tử SET chỉ có thể được sử dụng để kết hợp hai truy vấn
- Kiểu dữ liệu của mỗi cột trong truy vấn thứ 2 phải khớp với kiểu dữ liệu của cột tương ứng trong truy vấn đầu tiên.
- Không có cái nào ở trên
Answer: C. Tất cả kết hợp phải có cùng số không. của các cột khi sử dụng toán tử SET. Các cột tương ứng trong các truy vấn tạo nên một truy vấn ghép phải thuộc cùng một nhóm kiểu dữ liệu.
16.Where can the ORDER BY clause be used in case when SET operators are used?
- Trong mỗi truy vấn được kết hợp
- Chỉ trong truy vấn đầu tiên
- Ở cuối truy vấn ghép
- Không có cái nào ở trên
Answer: C. Nếu mệnh đề ORDER BY được sử dụng giữa bất kỳ truy vấn nào được kết hợp bằng toán tử SET, nó sẽ tạo ra lỗi ORA.
17.What is true about the queries that have SET operators in their WHERE clause?
- Các truy vấn này phải có cùng số không. và kiểu dữ liệu của các cột trong mệnh đề SELECT của chúng.
- Không. cột được sử dụng trong truy vấn mệnh đề WHERE và SELECT chính có thể khác nhau
- Không. các cột được sử dụng trong mệnh đề WHERE phải giống nhau, kiểu dữ liệu có thể khác
- Không có cái nào ở trên
Answer: A. Tất cả kết hợp phải có cùng số không. của các cột khi sử dụng toán tử SET. Các cột tương ứng trong các truy vấn tạo nên một truy vấn ghép phải thuộc cùng một nhóm kiểu dữ liệu.
18.What is true about the columns in the second query with respect to the columns in the first query?
- Cột trong truy vấn thứ 2 phải cùng nhóm kiểu dữ liệu với cột tương ứng trong truy vấn thứ nhất
- Nếu một cột trong truy vấn đầu tiên là NUMBER, thì cột tương ứng trong truy vấn thứ 2 phải là VARCHAR2
- Nếu một cột trong truy vấn đầu tiên là NUMBER, thì cột tương ứng trong truy vấn thứ 2 cũng phải là NUMBER.
- Không có cái nào ở trên
Answer: A, C.
19.What among the following is true about SET operators?
- Toán tử SET không thể được sử dụng trong các truy vấn phụ
- Toán tử SET chỉ có thể được sử dụng trong mệnh đề WHERE
- ORDER BY có thể được sử dụng cho tất cả các truy vấn được kết hợp bởi toán tử SET
- Toán tử SET có thể được sử dụng trong các truy vấn con
Answer: D.
20.What is the best way to change the precedence of SET operators given the fact that they have equal precedence?
- Thứ tự sử dụng của các toán tử SET có thể được thay đổi để thay đổi mức độ ưu tiên
- Không thể thay đổi mức độ ưu tiên như nhau
- Dấu ngoặc đơn có thể được sử dụng để thay đổi mức độ ưu tiên
- Không có cái nào ở trên
Answer: C. Dấu ngoặc đơn có thể được sử dụng để nhóm các truy vấn cụ thể nhằm thay đổi mức độ ưu tiên một cách rõ ràng. Dấu ngoặc đơn được ưu tiên hơn các toán tử SET khác trong quá trình thực thi.
21.What can be said about duplicate values and SET operators?
- Không có toán tử SET nào hiển thị các giá trị trùng lặp
- Tất cả các toán tử SET có thể hiển thị các giá trị trùng lặp
- Chỉ toán tử UNION ALL hiển thị các giá trị trùng lặp
- Không có cái nào ở trên
Answer: C. UNION, INTERSECT và MINUS tự động loại bỏ các giá trị trùng lặp
Examine the structure of the EMPLOYEES and DEPARTMENTS tables and consider the following query and answer the questions 22 and 23.
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)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
SELECT department_id
FROM employees e
UNION
SELECT department_id
FROM departments
22.What will be displayed in the result of this query?
- Nó sẽ hiển thị (các) id bộ phận riêng biệt có trong bảng NHÂN VIÊN và BỐ CỤC
- Nó sẽ tạo ra lỗi ORA
- Không có hàng nào được chọn
- Không có cái nào ở trên
Answer: A. UNION Trả về các hàng được kết hợp từ hai truy vấn, sắp xếp chúng và xóa các hàng trùng lặp.
23.What is true about the query given above?
- Truy vấn này trả về lỗi ORA
- Nó thực thi thành công nhưng không cho kết quả
- Không thể sử dụng các truy vấn từ các bảng khác nhau với toán tử SET
- Truy vấn thực thi thành công và cho kết quả như mong đợi
Answer: D. Truy vấn kết hợp là một truy vấn được tạo thành từ một số truy vấn sử dụng các bảng khác nhau.
24.What is the default sorting order of the results when UNION ALL operator is used?
- Descending
- Ascending
- A hoặc B
- Tất cả những điều trên
Answer: B. Theo mặc định, một truy vấn ghép sẽ trả về các hàng được sắp xếp trên tất cả các cột, từ trái sang phải theo thứ tự tăng dần. Ngoại lệ duy nhất là UNION ALL, nơi các hàng sẽ không được sắp xếp. Nơi duy nhất cho phép mệnh đề ORDER BY ở cuối truy vấn ghép.
25.What will be the output of the compound query in which columns in the SELECT are of CHAR and equal length?
- Đầu ra sẽ có kiểu dữ liệu VARCHAR2 có độ dài bằng nhau
- Đầu ra sẽ có kiểu dữ liệu CHAR có độ dài bằng nhau
- Đầu ra sẽ có kiểu dữ liệu CHAR có độ dài khác nhau
- Đầu ra sẽ có NUMBER kiểu dữ liệu có độ dài bằng nhau
Answer: B. Các cột trong truy vấn tạo thành truy vấn ghép có thể có các tên khác nhau, nhưng tập kết quả đầu ra sẽ sử dụng tên của các cột trong truy vấn đầu tiên. Các cột tương ứng trong các truy vấn tạo nên một truy vấn ghép phải thuộc cùng một nhóm kiểu dữ liệu.
26.What will be the output of the compound query in which columns in the SELECT are of CHAR and different lengths?
- Đầu ra sẽ có kiểu dữ liệu VARCHAR2 có độ dài bằng nhau
- Đầu ra sẽ có kiểu dữ liệu CHAR có độ dài bằng nhau
- Đầu ra sẽ có kiểu dữ liệu CHAR có độ dài khác nhau
- Đầu ra sẽ có kiểu dữ liệu VARCHAR2 với độ dài của giá trị CHAR lớn hơn
Answer: D. Mặc dù danh sách cột đã chọn không nhất thiết phải có cùng một kiểu dữ liệu, nhưng chúng phải thuộc cùng một nhóm kiểu dữ liệu. Tập hợp kết quả của truy vấn ghép sẽ có các cột với mức độ chính xác cao hơn.
27.What will be the output of a compound query if either or both queries select values of VARCHAR2?
- Đầu ra sẽ có kiểu dữ liệu VARCHAR2.
- Đầu ra sẽ có kiểu dữ liệu CHAR có độ dài bằng nhau
- Đầu ra sẽ có kiểu dữ liệu CHAR có độ dài khác nhau
- Đầu ra sẽ có kiểu dữ liệu VARCHAR2 với độ dài của giá trị CHAR lớn hơn
Answer: A. Mặc dù danh sách cột đã chọn không nhất thiết phải có cùng một kiểu dữ liệu, nhưng chúng phải thuộc cùng một nhóm kiểu dữ liệu. Tập hợp kết quả của truy vấn ghép sẽ có các cột với mức độ chính xác cao hơn.
28.What is true if the compound queries select numeric data?
- Sẽ có một thứ tự ưu tiên ngang nhau của các giá trị số, toán tử
- Các giá trị trả về sẽ được xác định theo mức độ ưu tiên số
- Các giá trị trả về sẽ thuộc loại dữ liệu NUMBER
- Không có cái nào ở trên
Answer: B, C. Mặc dù danh sách cột đã chọn không nhất thiết phải có cùng một kiểu dữ liệu, nhưng chúng phải thuộc cùng một nhóm kiểu dữ liệu. Tập hợp kết quả của truy vấn ghép sẽ có các cột với mức độ chính xác cao hơn.
29.What will happen if the SELECT list of the compound queries returns both a VARCHAR2 and a NUMBER data type result?
- Oracle sẽ chuyển đổi chúng một cách ngầm định và trả về kết quả kiểu dữ liệu VARCHAR2
- Oracle sẽ chuyển đổi chúng một cách ngầm định và trả về NUMBER kết quả kiểu dữ liệu
- Một lỗi ORA được đưa ra
- Không có cái nào ở trên
Answer: C. Oracle không chuyển đổi kiểu dữ liệu một cách ngầm định.
30.What is true about the UNION operator?
- Nó loại bỏ các giá trị trùng lặp bỏ qua các giá trị NULL
- Nó trả về các giá trị trùng lặp bỏ qua các giá trị NULL
- Nó trả về các giá trị trùng lặp bao gồm các giá trị NULL
- Nó loại bỏ các giá trị trùng lặp và không bỏ qua các giá trị NULL
Answer: D. Giá trị NULL không bị bỏ qua khi toán tử UNION được sử dụng
31.What can be said about the names and columns of a SQL query which uses the UNION operator?
- Tên của các cột phải giống nhau
- Tên và kiểu dữ liệu của các cột phải giống nhau
- Tên của các cột không được giống nhau
- Không có cái nào ở trên
Answer: C. Các cột trong truy vấn tạo thành truy vấn ghép có thể có các tên khác nhau, nhưng tập kết quả đầu ra sẽ sử dụng tên của các cột trong truy vấn đầu tiên.
Consider the following exhibit of the JOB_HISTORY table and the query that follows. Answer the questions 32 and 33 below the query.
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , first_name, last_name, job_id
FROM employees E
UNION
SELECT employee_id , first_name, last_name, job_id
From job_history;
32.How many times the each employee will get displayed by the above query?
- 0
- 1
- 2
- 4
Answer: B. UNION Trả về các hàng được kết hợp từ hai truy vấn, sắp xếp chúng và xóa các hàng trùng lặp.
33.What will be the outcome of the above query?
- Nó hiển thị chi tiết công việc hiện tại và trước đó của nhân viên hai lần
- Nó hiển thị chi tiết công việc hiện tại và trước đây của nhân viên chỉ một lần
- A hoặc B
- Không có cái nào ở trên
Answer: B.
Examine the given table structures and consider the following query and answer the questions 34 to 37 that follow:
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , job_id, department_id
FROM employees
UNION
SELECT employee_id , job_id, department_id
From job_history;
34.Assuming that an employee with ID 121 has held 2 job IDs in his tenure in the company. Considering the above query, how many times will his records be displayed in the results?
- Once
- Twice
- Thrice
- Không có cái nào ở trên
Answer: B. UNION Trả về các hàng được kết hợp từ hai truy vấn, sắp xếp chúng và xóa các hàng trùng lặp. Tính trùng lặp được đo bằng sự kết hợp của các cột chứ không phải từng cột riêng lẻ.
35.Assuming that the employee with ID 121 held two positions in two different departments - 10 and 20 in the company.He worked as 'SA_REP' in both the departments 10 and 20. What will be the outcome of the above query ?
- 2 hàng
- 3 hàng
- Không có hàng
- Lỗi ORA
Answer: B.
36.Which statements best describes the inference drawn from the questions 34 and 35?
- Có các giá trị trùng lặp cho mã công việc
- Truy vấn thực thi nhưng kết quả được tạo ra không mong muốn
- Không có giá trị trùng lặp cho các phòng ban
- Không có cái nào ở trên
Answer: C. Vì sự kết hợp của mã công việc và các phòng ban là duy nhất, không có bản sao nào thu được.
37.What will be the sorting in the result set obtained by the query?
- Giảm dần trên ID nhân viên
- Giảm dần trên ID công việc
- Tăng dần trên ID nhân viên
- Tăng dần trên ID Bộ
Answer: C. Việc sắp xếp mặc định sẽ tăng dần dựa trên cột đầu tiên, tức là: ID nhân viên trong trường hợp này, tuy nhiên, hành vi này có thể được sửa đổi bằng cách đặt một mệnh đề ORDER BY ở cuối.
38.Which of the following operators will be used to obtain duplicate records from the component queries?
- UNION
- ĐOÀN KẾT TẤT CẢ
- MINUS
- Không có cái nào ở trên
Answer: B. UNION ALL không loại bỏ các giá trị trùng lặp.
39.What is the difference between the UNION and the UNION ALL operators?
- Không có sự khác biệt
- UNION ALL cũng hiển thị các giá trị trùng lặp
- Đầu ra trong trường hợp UNION ALL không được sắp xếp theo mặc định
- Không có cái nào ở trên
Answer: B, C. Khi được sử dụng với hai câu lệnh SELECT, toán tử tập hợp UNION trả về kết quả của cả hai truy vấn. Tuy nhiên, nếu có bất kỳ bản sao nào, chúng sẽ bị xóa và bản ghi trùng lặp chỉ được liệt kê một lần. Để bao gồm các bản sao trong kết quả, hãy sử dụng toán tử bộ UNION ALL
40.What is true about the INTERSECT operator?
- Số lượng cột và kiểu dữ liệu của các cột trong truy vấn thành phần phải giống nhau
- Tên của các cột và kiểu dữ liệu của các cột trong các truy vấn thành phần phải giống nhau
- Cả A và B
- Không có cái nào ở trên
Answer: A. Đây là đặc điểm tiêu chí thuộc tính chung của các toán tử SET.
41.What can be said about the result set if the order of the intersected tables is altered when using INTERSECT?
- Kết quả được thay đổi
- Kết quả vẫn như cũ
- Việc sắp xếp thay đổi khi thay đổi
- Không có cái nào ở trên
Answer: B.
42.What among the following is true about the INTERSECT operator?
- Nó bỏ qua giá trị NULL
- Nó không bỏ qua giá trị NULL
- Nó trả về tất cả các hàng từ truy vấn thành phần đầu tiên
- Không có cái nào ở trên
Answer: B.
Answer the related questions 43 and 44 given below.
43.You need to display the names and job IDs of those employees who currently have a job title that is the same as their previous one. Which of the following queries will work? (Consider the table structures as given)
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , job_id, first_name, last_name FROM employees UNION SELECT employee_id , job_id, first_name, last_name FROM job_history;
SELECT employee_id , job_id, first_name, last_name FROM employees INTERSECT SELECT employee_id , job_id, first_name, last_name FROM job_history;
SELECT employee_id , job_id, first_name, last_name FROM employees UNION ALL SELECT employee_id , job_id, first_name, last_name FROM job_history;
- Không có cái nào ở trên
Answer: B.
44.Considering the above query i.e. Option B in question 43, what will be the result if the department ID is also included in the SELECT clause?
- Kết quả sẽ giống nhau
- Kết quả sẽ khác
- Kết quả sẽ giống nhau nhưng thứ tự sẽ khác
- Không có cái nào ở trên
Answer: A. Kết quả có thể được hiểu là - những nhân viên đã làm việc với cùng một chức danh trong cùng một bộ phận.
45.What is true about the MINUS operator?
- Nó trả về tất cả các hàng từ tất cả các truy vấn thành phần
- Nó chỉ trả về các hàng chung từ tất cả các truy vấn thành phần
- Nó trả về tất cả các hàng từ truy vấn đầu tiên chứ không phải từ các truy vấn tiếp theo
- Nó trả về tất cả các hàng riêng biệt được chọn bởi truy vấn đầu tiên, nhưng không có trong các truy vấn tiếp theo
Answer: D. Toán tử bộ MINUS xóa kết quả của truy vấn thứ hai khỏi đầu ra nếu chúng cũng được tìm thấy trong kết quả của truy vấn đầu tiên
46.What can be said regarding the number of columns and data types of the component queries when a MINUS operator is used?
- Chúng phải giống nhau, kiểu dữ liệu có thể khác nhưng chúng phải thuộc cùng một nhóm kiểu dữ liệu.
- Chúng phải giống nhau cùng với tên của các cột
- Cả A và B
- Không có cái nào ở trên
Answer: A. Đặc điểm chung của các toán tử SET.
47.You need to display the employee IDs of the employees who have not changed their jobs even once during tenure in the company. Which of the following queries will be correct in this case? (Consider the table structures as given)
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id FROM employees UNION SELECT employee_id FROM job_history;
SELECT employee_id FROM employees INTERSECT Select employee_id FROM job_history;
SELECT employee_id FROM employees MINUS Select employee_id FROM job_history;
SELECT employee_id FROM employees UNION ALL SELECT employee_id FROM job_history;
Answer: C.
Examine the given table structures and consider the following query answer the questions 48 and 49 that follow:
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , first_name, job_id
FROM employees
UNION
SELECT employee_id , NULL "first_name", job_id
FROM job_history;
48.What is true about the above query?
- Nó gây ra lỗi vì không thể sử dụng TO_CHAR (NULL)
- Nó thực thi thành công và cung cấp các giá trị cho id, first_name của nhân viên và vai trò công việc hiện tại bao gồm các hàng trùng lặp
- Nó thực thi thành công và cung cấp các giá trị cho id của nhân viên, first_name và tất cả các công việc do nhân viên đảm nhiệm, ngoại trừ các hàng trùng lặp
- Không có cái nào ở trên
Answer: C. Mỗi truy vấn phải chứa cùng một số cột, được so sánh theo vị trí. NULL có thể được thay thế ở vị trí cột bị thiếu trong truy vấn khác trong cùng một truy vấn ghép.
49.Considering the above query, if the UNION operator is replaced by the MINUS operator, what will the result mean?
- Kết quả hiển thị những nhân viên có mục nhập trong bảng JOB_HISTORY
- Kết quả hiển thị những nhân viên không có mục nhập trong JOB_HISTORY nhưng họ có mặt trong bảng NHÂN VIÊN
- Một trong hai A hoặc B
- Không có cái nào ở trên
Answer: B. MINUS cung cấp các kết quả duy nhất có trong truy vấn đầu tiên nhưng không phải là truy vấn thứ hai.
Consider the exhibit given below and answer the questions 50 and 51 that follow:
50.What will be the outcome of the following query?
SELECT AU_DETAILS
FROM AUDIT
UNION
SELECT AU_DETAILS
FROM AUDIT_YEARLY;
- Nó thực thi thành công đưa ra kết quả chính xác bao gồm các giá trị trùng lặp
- Nó thực thi thành công cho kết quả chính xác loại trừ các giá trị trùng lặp
- Nó tạo ra một lỗi ORA
- Không có cái nào ở trên
Answer: C. Các cột CLOB hoặc LONG không thể nằm trong mệnh đề SELECT khi sử dụng các toán tử tập hợp UNION.
51.What will be the outcome of the query if UNION is replaced with UNION ALL?
- Nó sẽ thực thi thành công cho kết quả chính xác bao gồm các giá trị trùng lặp
- Nó tạo ra một lỗi ORA
- Nó sẽ thực thi thành công cho kết quả chính xác loại trừ các giá trị trùng lặp
- Nó thực thi thành công nhưng cho kết quả không chính xác.
Answer: B. Các toán tử .UNION, UNION ALL, INTERSECT và MINUS khi được sử dụng với lỗi ném cột LONG hoặc CLOB.
52.Assume that there are 4 component queries. How many SET operators can be used to combine them in a single compound query?
- 1
- 2
- 4
- 3
Answer: D. Toán tử SET được sử dụng sẽ là N-1 trong đó N là số lượng truy vấn thành phần.
53.What are SET operators called owning to the fact that two or more SELECTs are involved based on columns instead of rows when SET operators are used?
- Các phép nối ngang
- Tham gia Descartes
- Các phép nối dọc
- Tham gia bên ngoài
Answer: C.
54.What is the difference between a UNION and INTERSECT operators? (Choose only the best difference)
- UNION kết hợp kết quả của hai truy vấn thành phần thành một tập hợp kết quả có các giá trị trùng lặp
- INTERSECT chỉ trả về những hàng được trả về bởi mỗi trong hai truy vấn thành phần
- UNION cung cấp các giá trị riêng biệt từ các truy vấn thành phần, INTERSECT cung cấp các giá trị chung từ các truy vấn thành phần
- Cả B và C
Answer: C.
Examine the structure of the EMPLOYEES table and consider the following query. Answer the questions 55 to 60 that follow.
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)
Query 1
SELECT *
FROM EMPLOYEES
where department_id = 10
Query 2
SELECT *
FROM EMPLOYEES E
where E.job_id IN (select first_name from EMPLOYEES E1 where E1.job_id = 'CLERK' and E.job_id = E1.job_id )
55.You need to extract a report where the results from both the queries are displayed. Which of the following operators should be used to get the required results?
- UNION
- ĐOÀN KẾT TẤT CẢ
- INTERSECT
- Không có cái nào ở trên
Answer: B. UNION ALL Trả về các hàng được kết hợp từ hai truy vấn mà không cần sắp xếp hoặc loại bỏ các hàng trùng lặp.
56.You need to display all the duplicate values along with all the values existing in the result set from both the queries. Which of the following SET operators you can use in the above given queries?
- INTERSECT
- UNION
- MINUS
- Không có cái nào ở trên
Answer: D. UNION ALL sẽ cung cấp các kết quả không được sắp xếp với các bản sao.
57.What is the difference between the result sets when using a UNION and a UNION ALL set operators?
- Kết quả đặt từ UNION ALL được lọc bao gồm các giá trị trùng lặp
- Tập hợp kết quả từ UNION được lọc và sắp xếp bao gồm các giá trị trùng lặp
- Bộ kết quả từ UNION ALL không được sắp xếp và nó có các giá trị trùng lặp
- Tập hợp kết quả từ UNION được lọc và sắp xếp không có giá trị trùng lặp
Answer: C, D.
58.The UNION operator has more overhead on the database than the UNION ALL. What is wrong in this statement?
- Tuyên bố là đúng
- Toán tử UNION ALL có nhiều chi phí trên Cơ sở dữ liệu hơn toán tử UNION
- UNION phải sắp xếp và loại bỏ các bản sao dẫn đến chi phí bổ sung
- Không có cái nào ở trên
Answer: A, C. UNION phải thực hiện nhiều nhiệm vụ hơn UNION ALL vì nó sắp xếp và loại bỏ các tập kết quả trùng lặp. Do đó, chúng tôi khuyến nghị rằng trừ khi các hàng riêng biệt được yêu cầu, thì nên sử dụng UNION ALL.
59.What will be the outcome if the two queries given above are combined using the INTERSECT operator?
- Nó sẽ chỉ hiển thị những nhân viên là Thư ký trong Bộ phận 10
- Nó sẽ hiển thị tất cả những nhân viên thuộc bộ phận 10
- Nó sẽ hiển thị tất cả các Thư ký.
- Không có cái nào ở trên
Answer: A. INTERSECT trả về những bản ghi có trong truy vấn 1 VÀ truy vấn 2.
60.What among the following is the difference between the INTERSECT and the UNION operators?
- INTERSECT tuân theo logic Boolean 'VÀ', UNION tuân theo logic Boolean 'OR'
- UNION tuân theo logic Boolean 'OR', trong khi INTERSECT tuân theo logic 'AND'
- Một trong hai A hoặc B
- Không có cái nào ở trên
Answer: A.
61.In which of the following SET operators, changing the order of the component queries will change the result set?
- UNION
- ĐOÀN KẾT TẤT CẢ
- MINUS
- INTERSECT
Answer: C. MINUS Chỉ trả về các hàng trong tập kết quả đầu tiên không xuất hiện trong tập kết quả thứ hai, sắp xếp chúng và loại bỏ các hàng trùng lặp.
Consider the following query and answer the questions 62 to 66 that follow:
SELECT 4 from dual
INTERSECT
SELECT 1 from dual;
62.What will be the outcome of the given query?
- Không có hàng
- 4
- 1
- NULL
Answer: A. Không có hàng nào được chọn vì toán tử INTERSECT sẽ không nhận được bất kỳ kết quả chung nào từ cả hai truy vấn - Toán tử INTERSECT đưa ra các kết quả phổ biến có trong truy vấn 1 VÀ truy vấn 2.
63.What will be the outcome of the query if the INTERSECT operator is replaced with MINUS operator?
- 3
- 4
- 0
- 1
Answer: B. MINUS đưa ra kết quả có trong truy vấn đầu tiên và không có trong truy vấn thứ hai.
64.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION operator?
- 1
4
- 4
1
- NULL
- 0
Answer: A. UNION sẽ tạo ra các hàng riêng biệt trong tập kết quả theo thứ tự tăng dần.
65.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION ALL operator?
- 4
1
- 0
- NULL
- 1
4
Answer: A. UNION ALL hiển thị kết quả khi chúng được định vị trong truy vấn mà không cần sắp xếp chúng.
66.What will be the outcome if the above query is modified as below?
SELECT 1 from dual
UNION ALL
SELECT 4 from dual;
- 1
4
- 4
1
- NULL
- Không có cái nào ở trên
Answer: A.
Examine the JOB_HISTORY_ARCHIVE table structure. It is a backup table for the JOB_HISTORY table with no additional column. Assuming that both the table have dissimilar data, consider the query given below and answer the questions 67 to 70 that follow:
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
(SELECT * FROM job_history;
MINUS
SELECT * FROM job_history_archive)
UNION ALL
(SELECT * FROM job_history_archive
MINUS
SELECT * FROM job_history;);
67. What will be the outcome of the query given above? (Choose the best answer)
- Nó sẽ trả về những hàng khác nhau trong hai bảng
- Nó sẽ trả về các hàng chung trong hai bảng
- Nó sẽ trả về tất cả các hàng từ hai bảng
- Không có cái nào ở trên
Answer: A.
68.What can concluded if the above given query yields rows only from JOB_HISTORY table?
- Nó cho thấy rằng JOB_HISTORY chứa hai hàng khác với bảng JOB_HISTORY_ARCHIVE
- Nó cho thấy rằng hai hàng giống nhau trong bảng JOB_HISTORY và JOB_HISTORY_ARCHIVE
- Nó cho thấy rằng JOB_HISTORY_ARCHIVE chứa hai hàng khác với bảng JOB_HISTORY
- Không có cái nào ở trên
Answer: A.
69.What can be said if the above query gives no results?
- Nó cho thấy rằng hai bảng có cùng dữ liệu
- Nó cho thấy rằng các truy vấn thành phần được đặt sai
- Nó cho thấy rằng các toán tử SET được sử dụng sai trong truy vấn ghép
- Không có cái nào ở trên
Answer: A.
70.With respect to the query given above, if duplicate records exist in the two tables, which of the following modifications should be made to the above given query?
- COUNT(*)
- COUNT (*) và GROUP BY worker_id
- COUNT (*) và ORDER BY worker_id
- Không có cái nào ở trên
Answer: B. COUNT (*) có thể được sử dụng để xem sự khác biệt giữa các bảng.
Consider the following query:
SELECT 1 NUM, 'employee' TEXT FROM dual
UNION
SELECT TO_CHAR(NULL) NUM, 'departments' TEXT FROM dual;
71.What will be the outcome of the query given above?
-
NUM TEXT ---------- ----------- 1 employee departments
-
NUM TEXT ---------- ----------- 1 employee NULL departments
- Lỗi ORA
-
NUM TEXT ---------- ----------- departments 1 employee
Answer: C. Ở đây, số 1 được so sánh với một ký tự NULL gây ra lỗi "ORA-01790: biểu thức phải có cùng kiểu dữ liệu với biểu thức tương ứng".
Consider the following query and answer the questions 72 and 73 that follow:
SELECT months_between (sysdate, to_date('21-MAY-2013','DD-MON-YYYY')) FROM dual
UNION
SELECT TO_date(NULL) NUM FROM dual;
72.What will be the outcome of the query given above? (Assume that the SYSDATE is 1st July, 2013)
- Nó thực thi thành công với kết quả chính xác
- Nó thực thi thành công nhưng không có kết quả
- Nó tạo ra một lỗi ORA
- Không có cái nào ở trên
Answer: C. Không thành công NUMBER và DATE không thuộc cùng một loại dữ liệu. Ở đây, một số do MONTHS_BETWEEN thu được được so sánh với DATE và do đó có lỗi.
73.Assume that the SELECT statement in the 2nd query is modified as below:
SELECT to_number (NULL) NUM FROM dual;
Kết quả sẽ ra sao vì sự thay đổi này?
- Nó thực thi thành công với kết quả chính xác
- Nó thực thi thành công nhưng không có kết quả
- Nó tạo ra một lỗi ORA
- Không có cái nào ở trên
Answer: A.
74.Examine the table structures and consider the following query:
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id "Employee ID"
FROM employees
UNION
SELECT employee_id "EMP ID"
FROM job_history;
Tiêu đề cột nào dưới đây sẽ hiển thị trong tập kết quả?
- ID EMP
- Mã hiệu công nhân
- EMPLOYEE_ID
- Lỗi ORA vì tên cột phải giống nhau trong các truy vấn thành phần.
Answer: B. Các cột trong truy vấn tạo thành truy vấn ghép có thể có các tên khác nhau, nhưng tập kết quả đầu ra sẽ sử dụng tên của các cột trong truy vấn đầu tiên.
Examine the two table structures given and consider the following query and answer the questions 75 and 76 that follow:
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id
FROM employees e
UNION
SELECT employee_id
FROM job_history j
ORDER BY j.employee_id ;
75.What will be the outcome of the query given above?
- Kết quả sẽ được sắp xếp theo ID nhân viên từ bảng JOB_HISTORY
- Kết quả sẽ được sắp xếp theo ID nhân viên từ bảng NHÂN VIÊN
- Sẽ không có thứ tự kết quả
- Lỗi ORA
Answer: D. ORDER BY phải được thực hiện dựa trên tên của các cột từ truy vấn đầu tiên chứ không phải từ các cột truy vấn thứ hai.
76.Which of the following ORDER BY clauses can replace the erroneous ORDER BY in the query given above?
- ĐẶT HÀNG BỞI e.employee_id
- ĐẶT HÀNG THEO j.2
- ĐẶT HÀNG THEO 1
- Không có điều nào ở trên, ORDER BY không được phép trong truy vấn
Answer: C. Đây là một đặc tả chung chung hơn và Oracle sẽ sắp xếp thứ tự dựa trên cột đầu tiên của truy vấn đầu tiên.
77.Consider the following exhibit and answer the question below:
SELECT au_doc
From audit
UNION
SELECT au_doc
From audit_yearly;
Kết quả của truy vấn đã cho ở trên là gì?
- Nó cung cấp cho các tài liệu Kiểm toán giữa hai bảng
- Nó đưa ra lỗi ORA khi thực thi
- Nó cung cấp cho các tài liệu Kiểm toán từ bảng AUDIT
- Không có cái nào ở trên
Answer: B. Cột DÀI không được sử dụng với toán tử SET.
78.Consider the query given below:
SELECT col_1
From TABLE (package1.proc1)
UNION
SELECT col_1
From TABLE (package2.proc2);
Kết quả của truy vấn đưa ra ở trên là gì?
- Nó thực thi thành công với các bản sao
- Nó thực thi thành công mà không có bản sao
- Nó tạo ra một lỗi ORA
- Không có cái nào ở trên
Answer: C. Biểu thức TABLE không thể được sử dụng với các toán tử SET.
Examine the two table structures given and consider the following query. Answer the questions 79 and 80 that follow:
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT employee_id , job_id
FROM employees E
UNION
SELECT employee_id , job_id
FROM job_history J
FOR UPDATE OF job_id;
79.What happens when the query is executed?
- Lỗi ORA
- Employee_id và job_id
- Employee_id
- Không có cái nào ở trên
Answer: A. Mệnh đề FOR UPDATE không thể được sử dụng với truy vấn được kết hợp bằng các toán tử SET.
80.What will be the outcome of the following query?
SELECT * from employees
UNION
SELECT job_id FROM job_history;;
- Nó sẽ cung cấp tất cả các cột từ bảng nhân viên và chỉ cột job_id từ bảng job_history
- Nó sẽ xuất hiện một lỗi vì số lượng cột phải khớp trong các truy vấn thành phần
- Không phải B hoặc C
- Không có cái nào ở trên
Answer: B.
81.If UNION, UNION ALL, INTERSECT are used in one SQL statement which of the following is true regarding the SQL statement?
- UNION, UNION ALL sẽ được thực hiện đầu tiên và sau đó tập kết quả sẽ chuyển cho câu lệnh INTERSECT.
- Việc thực thi INTERSECT sẽ trước khi thực thi UNION và UNION ALL.
- Việc thực hiện sẽ được thực hiện từ phải sang trái có tính đến tất cả các toán tử cùng một lúc.
- Việc thực hiện sẽ được thực hiện từ trái sang phải có tính đến tất cả các toán tử cùng một lúc.
Answer: D.
82.Consider the query given below and answer the question that follow:
SELECT '3' FROM dual
INTERSECT
SELECT 3f FROM dual;
Điều gì là đúng về việc thực hiện truy vấn được đưa ra ở trên?
- Nó thực thi thành công.
- Nó ném ra một lỗi
- Nó cho kết quả 3.
- Nó cho kết quả 3f
Answer: B. Các ký tự ký tự phải được đặt trong dấu ngoặc kép.
83.Which of the following is false for set operators used in SQL queries?
- Các toán tử tập hợp hợp lệ khi được sử dụng trên các cột có kiểu dữ liệu LONG.
- Toán tử tập hợp không hợp lệ trên các cột kiểu BLOB, CLOB, BFILE, VARRAY hoặc bảng lồng nhau.
- Để truy vấn chọn có chứa một biểu thức, bí danh cột phải được cung cấp để tham chiếu nó đến order_by_clause.
- Bạn không thể sử dụng các toán tử này trong các câu lệnh SELECT chứa các biểu thức thu thập TABLE.
Answer: A. Toán tử SET không được hỗ trợ cho các kiểu dữ liệu LONG, CLOB và BLOB.
84.Examine the given table structure and evaluate the following SQL statement:
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)
SELECT employee_id , last_name "Last Name"
FROM employees
WHERE department_id = 100
UNION
SELECT employee_id EMPLOYEE_NO, last_name
FROM employees
WHERE department_id = 101;
Mệnh đề ORDER BY nào hợp lệ cho truy vấn trên? (Chọn tất cả các áp dụng.)
- ĐẶT HÀNG THEO 2,1
- ĐẶT HÀNG CỦA NHÂN VIÊN_NO
- ĐẶT HÀNG THEO 2, worker_id
- ĐẶT HÀNG BỞI "EMPLOYEE_NO"
Answer: A, C. Mệnh đề ORDER BY phải tham chiếu đến cột theo vị trí của nó hoặc tên được tham chiếu bởi truy vấn đầu tiên.
85.Which of the following clauses would you use to exclude the column from the 2nd query out of the two queries combined using SET operators?
- NHÓM THEO
- ĐẶT BỞI
- MINUS
- UNION
Answer: C.
86.Examine the given table structure as given. What will be the outcome of the below query?
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)
SELECT distinct department_id
FROM employees
WHERE salary > ANY (SELECT AVG (salary)
FROM employees
GROUP BY department_id )
UNION
SELECT *
FROM employees
WHERE salary > ANY (SELECT MAX (salary)
FROM employees
GROUP BY department_id );
- Nó sẽ hiển thị tất cả các ID bộ phận có mức lương trung bình và mức lương tối đa
- Nó sẽ xuất hiện một lỗi ORA là không. các cột được chọn trong cả hai truy vấn là khác nhau
- Nó sẽ hiển thị tất cả ID bộ phận có mức lương trung bình
- Nó sẽ hiển thị tất cả các ID bộ phận có mức lương tối đa
Answer: B. Không. của các cột phải giống nhau.
87.What among the following is true about the UNION operator?
- UNION chỉ hoạt động trên cột đầu tiên trong danh sách CHỌN
- UNION hoạt động trên các cột đầu tiên của danh sách SELECT trong các truy vấn thành phần
- UNION hoạt động trên tất cả các cột đang được chọn.
- Không có cái nào ở trên
Answer: C. UNION hoạt động trên tất cả các cột trong danh sách CHỌN và không bỏ qua bất kỳ cột nào.
88.You need to display the departments where the employees with the JOB IDs 'SA_REP' or 'ACCOUNTANT' work. Which of the following queries will fetch you the required results? (Consider the given table structure)
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)
SELECT department_id FROM employees E Where job_id = 'SA_RE' UNION SELECT department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' UNION ALL Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' INTERSECT Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' MINUS Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
Answer: A.
89.Which of the following statement is true about the ordering of rows in a query which uses SET operator?
- Không thể sử dụng ORDER BY trong các truy vấn riêng lẻ tạo ra một truy vấn ghép.
- Mệnh đề ORDER BY có thể được thêm vào cuối một truy vấn ghép.
- Các hàng do UNION ALL trả về sẽ theo thứ tự xuất hiện trong hai truy vấn nguồn.
- Các hàng do UNION trả về sẽ được sắp xếp trên tất cả các cột của chúng, từ phải sang trái.
Answer: A, B, C.
90.The UNION operator was used to fulfill which of the following function before the ANSI SQL syntax in place?
- THAM GIA ĐÚNG
- THAM GIA BÊN NGOÀI TRÁI
- EQUI-JOIN
- THAM GIA NGOÀI TRỜI ĐẦY ĐỦ
Answer: D.
Answer the related questions 91 and 92 given below. Consider the table structures as given here:
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
91.You need to find the job IDs which do not have any JOB history logged for them. Which of the following queries will work? (Consider the given table structures)
SELECT job_id FROM employees UNION ALL SELECT job_id FROM job_history;;
SELECT job_id FROM employees MINUS Select job_id FROM job_history;;
SELECT job_id FROM employees UNION SELECT job_id FROM job_history;;
- Không có cái nào ở trên
Answer: B.
92.Consider the following query:
SELECT distinct job_id
FROM employees
NATURAL JOIN job_history ;
Truy vấn nào sau đây giống với truy vấn trên?
SELECT job_id FROM employees UNION SELECT job_id FROM job_history;;
SELECT job_id FROM employees UNION ALL SELECT job_id FROM job_history;;
SELECT job_id FROM employees MINUS Select job_id FROM job_history;;
SELECT job_id FROM employees INTERSECT SELECT job_id FROM job_history;;
Answer: A.
Examine the table structures given here. Consider the query given below and answer the related questions 93 to 97 that follow:
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)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
SELECT job_id
FROM employees
UNION ALL
SELECT job_id
FROM job_history;;
93.If the EMPLOYEES table contains 5 records and the JOB_HISTORY contains 3 records, how many records will be obtained from the below query?
- 4
- 3
- 0
- 8
Answer: D. UNION ALL Trả về các hàng được kết hợp từ hai truy vấn mà không cần sắp xếp hoặc loại bỏ các hàng trùng lặp.
94.If the UNION ALL operator is replaced with UNION operator, how many records will be obtained? (Assume there are 6 distinct values in both the tables)
- 5
- 3
- 2
- 6
Answer: D. UNION Trả về các hàng được kết hợp từ hai truy vấn, sắp xếp chúng và xóa các hàng trùng lặp.
95.If the UNION ALL operator is replaced with MINUS operator, how many records will be obtained? (Assume there are 3 distinct values in EMPLOYEES and 2 in JOB_HISTORY)
- 3
- 2
- 1
- 0
Answer: C. MINUS Chỉ trả về các hàng trong tập kết quả đầu tiên không xuất hiện trong tập kết quả thứ hai, sắp xếp chúng và loại bỏ các hàng trùng lặp.
96.If the UNION ALL operator is replaced with INTERSECT operator, how many records will be obtained? (Assume there are 3 values common between the two tables)
- 8
- 6
- 3
- 2
Answer: C. INTERSECT Chỉ trả về các hàng xuất hiện trong cả hai tập kết quả của truy vấn, sắp xếp chúng và loại bỏ các hàng trùng lặp.
97.Consider the following query:
1.select job_id
2. from employees
3.ORDER BY department_id
4.UNION ALL
5.select job_id
6.FROM job_history;
7.ORDER BY department_id ;
Truy vấn trên tạo ra lỗi. Dòng nào trong truy vấn trên tạo ra lỗi?
- 3
- 7
- 2
- Không xảy ra lỗi
Answer: A. ORDER BY chỉ nên xuất hiện ở cuối truy vấn ghép chứ không xuất hiện trong các truy vấn thành phần.
98.Which of the following SET operator features are supported in SQL/Foundation:2003 but not by Oracle?
- ĐOÀN KẾT TẤT CẢ
- TRỪ TẤT CẢ
- INTERSECT ALL
- TRỪ TẤT CẢ
Answer: B, C, D.
99.You need to find out the common JOB IDs (excluding duplicates) in the departments 100 and 200. Which query will you fire to get the required results? (Consider the table structure as given)
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)
SELECT job_id from employee WHERE department_id = 100 INTERSECT SELECT job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 UNION ALL SELECT job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 MINUS Select job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 INTERSECT ALL Select job_id from employee WHERE department_id = 200;
Answer: A.
100.If a compound query contains both a MINUS and an INTERSECT operator, which will be applied first? (Choose the best answer.)
- INTERSECT, vì INTERSECT có mức độ ưu tiên cao hơn MINUS.
- MINUS, vì MINUS có mức độ ưu tiên cao hơn INTERSECT.
- Mức độ ưu tiên được xác định bởi thứ tự mà chúng được chỉ định.
- Không thể truy vấn phức hợp bao gồm cả MINUS và INTERSECT.
Answer: C. Tất cả các toán tử tập hợp có mức độ ưu tiên như nhau, vì vậy mức độ ưu tiên được xác định bởi trình tự mà chúng xuất hiện.