Nhận dữ liệu từ nhiều bảng câu hỏi

1.Which of the following is not related to a Relational Database?

  1. Selection
  2. Projection
  3. Joining
  4. Không có cái nào ở trên

Answer: D. Các tùy chọn A, B và C là các khả năng chính của Cơ sở dữ liệu quan hệ Oracle.

2.Which of the following methods is used for writing a query with columns from multiple tables?

  1. SELECT
  2. NHÓM THEO
  3. ĐẶT BỞI
  4. JOINS

Answer: D. Các phép nối được sử dụng để kết nối nhiều bảng và dự án dữ liệu cột từ nhiều bảng trong Oracle.

3.Which of the following is one of the most common methods to join multiple tables?

  1. Tham gia băm
  2. Equijoin
  3. Tự tham gia
  4. Tham gia chéo

Answer: B. Equijoin là một trong những kiểu nối là kỹ thuật phổ biến và đơn giản nhất để nối nhiều hơn một bảng. Các liên kết tương đương còn được gọi là các phép nối đơn giản hoặc các phép nối bên trong, các phép nối liên kết bao gồm khóa chính và khóa ngoại.

4.Which of following will be used to join rows with other tables if the column values fall in a range defined by inequality operators?

  1. Equijoin
  2. Tham gia đơn giản
  3. Non-equijoin
  4. Không có cái nào ở trên

Answer: C. Các liên kết tương đương sử dụng các toán tử bình đẳng để nối các hàng, các liên kết không tương đương sử dụng các toán tử bất bình đẳng.

5.Which of the following statements is true about Oracle joins?

  1. Giá trị NULL được bao gồm trong tập kết quả
  2. Chỉ những hàng có điều kiện phù hợp mới được tìm nạp
  3. Tất cả các hàng hiện diện trong bất kỳ bảng nào trong một bảng đều được tìm nạp
  4. Không có cái nào ở trên

Answer: B. Các giá trị NULL và các mục nhập khác nhau trong các cột nối chung bị loại trừ khi các phép nối được sử dụng.

6.Which of the following can be used to join the rows of a table with other rows of the same table?

  1. Equijoin
  2. Non-equijoin
  3. Tham gia bên ngoài
  4. Self-join

Answer: D. Sự liên kết dựa trên các cột có mối quan hệ logic và thường là thứ bậc với nhau.

7.What is true about a cartesian join of two tables in Oracle DB?

  1. Nó phải được tránh vì nó tốn kém và không được tối ưu hóa
  2. Nó được hình thành khi mọi hàng từ một bảng được nối với tất cả các hàng trong bảng thứ hai
  3. Cả A và B
  4. Không có cái nào ở trên

Answer: B. Phép nối Descartes thường là kết quả của các điều kiện nối bị thiếu hoặc không đủ, nó đơn giản là tích chéo của hai bảng.

8.Which of the following is one of the basic types of joins in Oracle DB ?

  1. Tham gia bên ngoài
  2. Self-join
  3. Equi-join
  4. Tất cả những điều trên

Answer: C. Phép nối tương đương và không nối tương đương là hai kiểu nối cơ bản trong Oracle DB.

9.What is the main condition for using joins between a source table and a target table in Oracle DB for getting a non-cartesian product result?

  1. Không có điều kiện
  2. Ít nhất một trong các cột trong cả hai bảng phải là chung.
  3. Tên của các cột trong cả hai bảng nối phải giống nhau để sử dụng phép nối
  4. Không có cái nào ở trên

Answer: B. Các bảng phải được kết nối thông qua một cột chung liên quan đến hai thực thể. Bảng được nối trên một cột chung tạo ra sản phẩm phi Descartes.

10. Which of the following can be used to fetch rows from multiple tables in a single SQL query?

  1. SELECT
  2. WHERE
  3. FROM
  4. Equi-joins

Answer: D. Các phép nối tương đương còn được gọi là phép nối đơn giản hoặc phép nối bên trong. Equijoin liên quan đến khóa chính và khóa ngoại.

11.What is true about the source table and the target table in terms of Oracle Joins?

  1. Họ phải có ít nhất một cột cùng tên
  2. Tất cả các cột phải có cùng tên và cùng kiểu dữ liệu để nối hai bảng
  3. Bảng nguồn và bảng đích không thể hoán đổi vị trí cụ thể
  4. Không có cái nào ở trên

Answer: D. Bảng nguồn và bảng đích có thể được hoán đổi vị trí và không cố định ở vị trí của chúng. Tùy thuộc vào kiểu kết hợp được sử dụng trong truy vấn, kết quả có thể khác hoặc giữ nguyên.

12.What is true about Natural joins in Oracle DB?

  1. Tên cột của bảng nguồn và bảng đích phải giống hệt nhau
  2. Nếu tên cột của bảng nguồn và bảng đích không giống nhau, thì Oracle ngầm thực hiện
  3. THAM GIA TỰ NHIÊN, SỬ DỤNG và BẬT là các từ khóa liên quan đến Tham gia tự nhiên
  4. Tất cả những điều trên

Answer: C. Từ khóa NATURAL JOIN hướng dẫn Oracle xác định các cột có tên giống nhau giữa bảng nguồn và bảng đích. Các phép nối tự nhiên sử dụng tất cả các cột có tên và kiểu dữ liệu phù hợp để nối các bảng. Mệnh đề USING có thể được sử dụng để chỉ định những cột nên được sử dụng cho một liên kết tương đương.

13.Assume the tables EMPLOYEES and DEPARTMENT have to be joined using NATURAL JOIN. What is the difference between the following two queries which follow? (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 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 NATURAL JOIN department
WHERE first_name = 'John'
AND last_name = 'Bacon';
SELECT department_id 
FROM department NATURAL JOIN employees
WHERE first_name = 'John'
AND last_name = 'Bacon';
  1. Không có sự khác biệt
  2. Kết quả là khác nhau trong cả hai trường hợp
  3. Cả hai truy vấn sẽ đưa ra lỗi ORA khi thực thi
  4. Không có cái nào ở trên

Answer: B. Bảng nguồn và bảng đích có thể được hoán đổi trong khi sử dụng NATURAL JOIN cho các tập kết quả khác nhau về mặt quan hệ.

14.Which of the following options is true regarding the NATURAL JOIN in Oracle DB?

  1. Trong khi sử dụng NATURAL JOIN, việc đề cập đến tên của tất cả các cột từ cả hai bảng là bắt buộc
  2. NATURAL JOIN chỉ có thể được sử dụng nếu tên của tất cả các cột của cả hai bảng đều giống nhau
  3. Tham gia trong NATURAL JOIN chỉ xảy ra khi người dùng chỉ định các cột của bảng nguồn và bảng đích.
  4. Không cần phải đề cập đến các cột khi sử dụng NATURAL JOINS.

Answer: D. Có một sự kết hợp ngầm giữa các cột từ nguồn và các bảng đích khi sử dụng THAM GIA TỰ NHIÊN. NATURAL JOIN là một phép toán JOIN tạo một mệnh đề liên kết ngầm cho bạn dựa trên các cột chung trong hai bảng được nối. Cột chung là các cột có cùng tên trong cả hai bảng.

15. What is the difference between a NATURAL JOIN and a join with JOIN..ON?

  1. Không có sự khác biệt giữa cả hai
  2. JOIN..ON kết hợp bảng nguồn và bảng đích trên các cột cụ thể có cùng tên
  3. NATURAL JOIN ngầm tất cả các cột phù hợp từ bảng nguồn và bảng đích
  4. Không có cái nào ở trên

Answer: B, C. Điều kiện nối cho phép nối tự nhiên về cơ bản là sự tương đương của tất cả các cột có cùng tên. Sử dụng mệnh đề ON để chỉ định điều kiện tùy ý hoặc chỉ định cột để nối. Điều kiện nối được tách biệt với các điều kiện tìm kiếm khác. Mệnh đề ON làm cho mã dễ hiểu.

16.What is true about the JOIN..ON clause in Oracle DB?

  1. Nó không phụ thuộc vào các cột trong bảng nguồn và bảng đích có tên giống hệt nhau
  2. Chỉ những cột từ nguồn và bảng đích có tên giống hệt nhau mới có thể được sử dụng với mệnh đề này
  3. Nó là một định dạng của NATURAL JOIN
  4. Tất cả những điều trên

Answer: A, C. Điều kiện nối cho phép nối tự nhiên về cơ bản là sự tương đương của tất cả các cột có cùng tên. Sử dụng mệnh đề ON để chỉ định các điều kiện tùy ý hoặc chỉ định các cột để tham gia. Điều kiện nối được tách biệt với các điều kiện tìm kiếm khác. Mệnh đề ON làm cho mã dễ hiểu.

17. The database designer has named the key (unique) columns from two tables differently.While joining these tables, which among the following will be the best practice?

  1. JOIN..ON
  2. Mệnh đề NATURAL JOIN hoặc JOIN ... ON
  3. Cả A và B
  4. Không có cái nào ở trên

Answer: A. Sử dụng NATURAL JOINS trong trường hợp này có thể mang lại kết quả không mong muốn vì có một tìm kiếm ngầm các cột có tên giống hệt nhau mà trong trường hợp này không có.

18.What of the following can be used to fetch non-matching rows along with the matching rows between a source and a target table in Oracle DB?

  1. EQUI-JOIN
  2. SELF-JOIN
  3. THIÊN NHIÊN THAM GIA
  4. OUTER-JOIN

Answer: D. Một phép nối bên ngoài được tạo khi các bản ghi cần được đưa vào kết quả mà không có các bản ghi tương ứng trong bảng nối. Các bản ghi này được khớp với các bản ghi NULL để chúng được đưa vào đầu ra.

19. What are Cartesian Joins also known as in Oracle DB?

  1. Equi-join
  2. Anti-join
  3. Cross-Join
  4. Không có cái nào ở trên

Answer: C. Một phép nối Descartes giữa hai bảng trả về mọi kết hợp có thể có của các hàng từ các bảng. Một phép nối Descartes có thể được tạo ra bằng cách không bao gồm một phép toán nối trong truy vấn hoặc bằng cách sử dụng một CROSS JOIN.

20.What will be the result of a NATURAL JOIN between two tables EMPLOYEES and DEPARTMENT as given in the query below? (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 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 * FROM employees NATURAL JOIN department;
  1. Cột chung DEPARTMENT_ID có tên giống hệt nhau trong cả hai bảng sẽ xuất hiện hai lần trong tập kết quả
  2. Tất cả các cột có tên giống nhau được kết hợp với NATURAL JOIN, sẽ xuất hiện hai lần trong tập kết quả
  3. Tập kết quả sẽ chỉ có một cột cho mỗi cặp cột được đặt tên giống nhau từ cả hai bảng
  4. Không có cái nào ở trên

Answer: C. Từ khóa NATURAL JOIN không yêu cầu điều kiện để thiết lập mối quan hệ giữa hai bảng. Tuy nhiên, một cột chung phải tồn tại. Không thể sử dụng bộ định lượng cột với các từ khóa NATURAL JOIN.

21.What is the difference between a NATURAL JOIN and an EQUI-JOIN in Oracle DB?

  1. Không có sự khác biệt
  2. Chúng giống nhau đối với tập kết quả thu được từ cả hai
  3. Cả A và B
  4. Không có cái nào ở trên

Answer: D. NATURAL JOIN kết hợp tất cả các cột có tên giống hệt nhau trong khi EQUI-JOIN yêu cầu các cột được đề cập rõ ràng trong truy vấn SQL.

22.What is an INNER JOIN in Oracle DB?

  1. Phép nối cung cấp các bản ghi phù hợp giữa hai bảng được gọi là INNER JOIN
  2. Một phép nối bên trong có thể sử dụng các toán tử như <,>, <>
  3. Cả A và B
  4. Không có cái nào ở trên

Answer: C. Một phép nối có thể là một phép nối bên trong, trong đó các bản ghi duy nhất được trả về có một bản ghi phù hợp trong tất cả các bảng hoặc một phép nối bên ngoài, trong đó các bản ghi có thể được trả về bất kể có một bản ghi phù hợp trong phép nối hay không.

23.What is the difference between a INNER JOIN and an EQUI-JOIN in Oracle DB?

  1. Chúng giống nhau về cú pháp và bộ kết quả thu được.
  2. INNER JOIN là một tập con của EQUI-JOIN
  3. INNER JOIN có thể sử dụng các toán tử như <,>, <> cùng với "=" trong khi EQUI-JOIN chỉ sử dụng toán tử "="
  4. Tất cả những điều trên

Answer: C. EQUI-JOIN là một loại INNER JOIN chứa toán tử "=" trong điều kiện nối, trong khi INNER JOIN có thể chứa cả toán tử bình đẳng và không bình đẳng

24.What is true about NATURAL JOINS in terms of ANSI SQL: 1999 syntaxes in Oracle DB?

  1. Toán tử Equality (=) được sử dụng
  2. Chúng tìm nạp các kết quả khác nhau khi so sánh với cú pháp truyền thống
  3. Cú pháp ANSI SQL sử dụng các từ như NATURAL JOIN trong các truy vấn SQL
  4. Không có điều nào ở trên.

Answer: C. Cú pháp ANSI SQL khác với cách sử dụng (=) truyền thống trong các cách truyền thống. Có các từ khóa như NATURAL JOIN, v.v. trong cú pháp ANSI SQL để phân biệt các phép nối được sử dụng.

25.What of the following is true with respect to the query given below? (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 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 first_name, salary
FROM employees e, departments d
WHERE e.department_id  (+) = d.department_id ;
  1. Có một phép nối ngoài giữa Department_id từ cả hai bảng tương đương với một phép nối Bên ngoài bên phải trong ANSI SQL
  2. Có một liên kết bên ngoài giữa Department_id từ cả hai bảng tương đương với một liên kết Bên ngoài Bên trái trong ANSI SQL
  3. Nó tìm nạp tất cả các bản ghi của Department_id từ bảng nhân viên cho dù chúng có khớp hay không
  4. Nó tìm nạp tất cả các bản ghi của Department_id từ bảng phòng ban cho dù chúng có khớp hay không

Answer: A, D. Điều kiện e.department_id (+) = d.department_id nghĩa là nó sẽ thực hiện Kết hợp Bên ngoài Bên phải và tất cả các Department_id từ bảng phòng ban sẽ được hiển thị cho dù chúng có khớp hay không

26.Which of the following syntax models is used in extensively in the software systems worldwide?

  1. ANSI SQL: 1999
  2. Cả cú pháp Oracle truyền thống và cú pháp ANSI SQL: 1999
  3. Cú pháp Oracle truyền thống
  4. Tất cả các tùy chọn

Answer: C. Cú pháp ANSI SQL: 1999 mặc dù không được sử dụng nhiều như cú pháp Oracle truyền thống, nó vẫn là một trong những cú pháp có thể được sử dụng trong Oracle SQL

27.What of the following is true regarding the Cartesian product in Oracle DB?

  1. Nếu 'N' là không có bảng được tham gia, thì nếu không. của phép nối là N-1, tích Descartes không được thực hiện
  2. Nếu 'N' là không có bảng được tham gia, thì nếu không. của phép nối là N, tích Descartes được thực hiện
  3. Nếu 'N' là không có bảng được tham gia, thì nếu không. của phép nối là N + 1, tích Descartes được thực hiện
  4. Nếu 'N' là không có bảng được tham gia, thì nếu không. của phép nối là N-1 trở xuống, tích Descartes được thực hiện.

Answer: A. Một phép nối Descartes giữa hai bảng trả về mọi kết hợp có thể có của các hàng từ các bảng. Một phép nối Descartes có thể được tạo ra bằng cách không bao gồm một phép toán nối trong truy vấn hoặc bằng cách sử dụng một CROSS JOIN. Một truy vấn phải có ít nhất (N-1) điều kiện tham gia để ngăn chặn một sản phẩm cacte, trong đó N là số bảng trong truy vấn.

28.What is the reason of error in the following SQL query? (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 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 first_name, last_name
FROM employees, departments
WHERE department_id (+) = department_id ;
  1. Không có bí danh nào được sử dụng cho các bảng.
  2. Từ RIGHT OUTER JOIN không được sử dụng ở đây do đó nó gây ra lỗi
  3. Dấu (+) phải ở bên phải của điều kiện bình đẳng chứ không phải ở bên trái
  4. Bí danh bảng nên được sử dụng với Department_id trong điều kiện để loại bỏ việc đặt tên không rõ ràng

Answer: D. Nếu không có bí danh bảng, Oracle không thể lấy được nguồn gốc của các cột đang được nối và do đó sẽ tạo ra lỗi Ambiguity khi thực thi.

29.Which of the following is used to avoid the ambiguous column problem in Oracle DB?

  1. ;
  2. ,
  3. .
  4. /

Answer: C. Cú pháp để loại bỏ vấn đề cột không rõ ràng là: table_alias.column_name

30.Which of the following is the most appropriate about the following query? (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 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 employee_id , first_name, last_name
FROM employees e right outer join department d
On e.department_id  = d.department_id ;
  1. Nó cung cấp thông tin chi tiết về những nhân viên không thuộc bất kỳ bộ phận nào
  2. Nó cung cấp thông tin chi tiết về những bộ phận không có bất kỳ nhân viên nào
  3. Nó cung cấp thông tin chi tiết về tất cả các phòng ban bất kể họ có nhân viên hay không
  4. Nó cung cấp thông tin chi tiết về các nhân viên đã được thuê trong công ty 'ABC' không phân biệt các phòng ban.

Answer: C. Với phương thức JOIN cho các phép nối ngoài, bạn có thể thêm các từ khóa LEFT, RIGHT hoặc FULL. Một phép nối bên ngoài bên trái bao gồm tất cả các bản ghi từ bảng được liệt kê ở phía bên trái của phép nối, ngay cả khi không tìm thấy kết quả khớp nào với bảng khác trong thao tác nối. Một kết nối bên ngoài đầy đủ bao gồm tất cả các bản ghi từ cả hai bảng, ngay cả khi không tìm thấy bản ghi tương ứng trong bảng khác.

31.What will be the outcome of the following query? (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 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 *
FROM employees e, department d
WHERE a.department_id  = b.department_id ;
  1. Nó sẽ cung cấp tất cả các giá trị phù hợp từ cả hai bảng có cùng Department_id
  2. Nó sẽ cung cấp cho tất cả các cột từ các nhân viên trong bảng và chỉ 100 hàng trên cùng từ bảng phòng ban
  3. Nó sẽ đưa ra lỗi ORA: "b.department_id" từ định danh không hợp lệ
  4. Không có tùy chọn nào ở trên

Answer: C. Các bí danh tương tự phải trong mệnh đề WHERE như được khai báo trong mệnh đề FROM

32.Which of the following is true regarding the USING and ON clauses in table joins? (Choose more than one options if applicable)

  1. Mệnh đề ON có thể được sử dụng để nối các bảng trên các cột có cùng kiểu dữ liệu nhưng không nhất thiết phải giống tên
  2. Các mệnh đề SỬ DỤNG và BẬT chỉ được sử dụng trên các thiết bị tương đương và không tương đương
  3. Không thể sử dụng nhiều hơn một điều kiện với mệnh đề ON
  4. Mệnh đề WHERE có thể được viết sau mệnh đề USING..ON để áp dụng các điều kiện bổ sung

Answer: A, D. Phương pháp JOIN ... USING tương tự như phương pháp NATURAL JOIN, ngoại trừ cột chung được chỉ định trong mệnh đề USING. Một điều kiện không được bao gồm trong mệnh đề USING để cho biết các bảng có liên quan như thế nào. Ngoài ra, không thể sử dụng từ định danh cột cho cột chung được chỉ định trong mệnh đề SỬ DỤNG. Phương pháp JOIN ... ON kết hợp các bảng dựa trên một điều kiện cụ thể. Từ khóa JOIN trong mệnh đề FROM chỉ ra các bảng được nối và mệnh đề ON cho biết hai bảng có liên quan như thế nào. Phương pháp này phải được sử dụng nếu các bảng được nối không có một cột chung có cùng tên trong mỗi bảng.

33.How many tables can be joined by using the JOINS in Oracle DB?

  1. 1
  2. 2
  3. 255
  4. Không giới hạn

Answer: D. Hiện tại không có giới hạn về số lượng bàn chơi tham gia.

34. What is true when multiple joins are used in an SQL statement?

  1. Các phép nối được đánh giá từ trái sang phải
  2. Các phép nối được đánh giá từ phải sang trái
  3. Không có quyền ưu tiên trong quá trình đánh giá các liên kết
  4. Không có cái nào ở trên

Answer: A. Khi nhiều phép nối tồn tại trong một câu lệnh, chúng được đánh giá từ trái sang phải.

35.What is true with respect to the following query? (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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
SQL> desc bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
SELECT bonus, first_name, department_id 
FROM bonus b NATURAL JOIN employees e NATURAL JOIN department d;
  1. Việc sử dụng NATURAL JOIN để tham gia nhiều bảng là một lựa chọn tốt hơn và mang lại kết quả chính xác
  2. Xác suất lỗi là rất ít khi các THAM GIA TỰ NHIÊN được sử dụng để nối nhiều bảng
  3. Các mệnh đề USING..JOIN..ON cho kết quả chính xác hơn các mệnh đề NATURAL JOIN khi kết hợp nhiều bảng
  4. Oracle tham gia ngầm nhiều bảng khi sử dụng THAM GIA TỰ NHIÊN và do đó cách sử dụng THAM GIA TỰ NHIÊN là một cách tốt

Answer: C. Việc sử dụng NATURAL JOINS có thể tạo các sản phẩm Descartes của các hàng và cũng dễ xảy ra lỗi với các tập kết quả không phụ thuộc.

36.What is true about the clauses JOIN..ON in Oracle DB?

  1. Chúng không đáng tin cậy lắm so với THAM GIA TỰ NHIÊN khi tham gia nhiều bảng
  2. Mệnh đề JOIN..ON tương tự như mệnh đề WHERE giới hạn các hàng có điều kiện
  3. Một mệnh đề WHERE bổ sung là bắt buộc khi mệnh đề JOIN..ON được sử dụng
  4. Không có cái nào ở trên

Answer: B. Phương pháp JOIN .... ON kết hợp các bảng dựa trên một điều kiện cụ thể. Từ khóa JOIN trong mệnh đề FROM cho biết các bảng được nối và mệnh đề ON cho biết hai bảng có liên quan như thế nào. Phương pháp này phải được sử dụng nếu các bảng được nối không có một cột chung có cùng tên trong mỗi bảng.

Examine the table structures as given. Answer the questions 37 and 38 that follow the query given below:

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 e.salary, d.department_id 
FROM employees e JOIN department d
On (e.department_id  = d.department_id  and e.last_name = 'Brandon');

37.What is true with respect to the query given above?

  1. Nó đưa ra lỗi ORA vì mệnh đề WHERE bắt buộc không có
  2. Mệnh đề JOIN..ON không được chứa nhiều hơn một điều kiện
  3. Truy vấn bỏ qua điều kiện cuối cùng và thực thi mà không có lỗi ORA
  4. Mệnh đề JOIN..ON có thể được viết ở dạng đã cho ở trên để đặt thêm điều kiện.

Answer: D. Mệnh đề WHERE có thể được bỏ qua và các điều kiện liên quan có thể được điều chỉnh trong chính mệnh đề JOIN..ON như được hiển thị trong truy vấn đã cho

38.With respect to the given query, if the JOIN used is replaced with NATURAL JOIN, it throws an error. What is the reason for this error?

  1. Khi sử dụng NATURAL JOIN, mệnh đề WHERE là bắt buộc, việc bỏ qua sẽ gây ra lỗi
  2. Mệnh đề BẬT nên được thay thế bằng mệnh đề SỬ DỤNG
  3. Các từ NATURAL, JOIN và USING độc quyền lẫn nhau trong ngữ cảnh của cùng một mệnh đề nối
  4. Một truy vấn không thể kết hợp mệnh đề NATURAL JOIN và ON (hoặc USING) trong khi kết hợp.

Answer: C, D.

39.What is true about Non-equijoins in Oracle DB?

  1. Họ tham gia dựa trên từ khóa NON-EQUI JOIN
  2. Chúng được sử dụng bằng mệnh đề JOIN..ON với dấu "="
  3. Kết quả thu được khi kết quả của bất đẳng thức được đề cập là true.
  4. Không có cái nào ở trên

Answer: C. Các phép nối không tương đương được sử dụng với mệnh đề JOIN..ON nhưng với các toán tử bất đẳng thức.

Examine the structures of the tables EMPLOYEES and DEPARTMENTS as given and answer the questions 40 and 41 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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)

40.What will be the outcome of the following query in Oracle DB?

SELECT e.first_name, e.last_name, e.employee_id 
FROM employees e JOIN department d
ON (e.salary BETWEEN 1000 AND 10000);
  1. Nó sẽ tạo ra một lỗi ORA vì điều kiện trong mệnh đề ON không chính xác.
  2. Nó sẽ tạo ra một lỗi ORA do lỗi cú pháp vì không có dấu bằng "=" trong mệnh đề BẬT
  3. Nó sẽ thực thi thành công và cung cấp tên, họ và ID nhân viên của nhân viên với điều kiện được đề cập.
  4. Các phép nối không tương đương chỉ có thể được sử dụng để hiển thị các giá trị bằng nhau chứ không phải các phạm vi.

Answer: C.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Kết quả của phép toán đối sánh bất đẳng thức là đúng
  2. Kết quả của phép toán đối sánh bất đẳng thức là 0
  3. Kết quả của phép toán đối sánh bất đẳng thức là 1
  4. Kết quả của phép toán đối sánh bất đẳng thức là sai

Answer: A. Một phép nối bình đẳng được tạo khi các bản ghi nối dữ liệu từ hai bảng khác nhau là một khớp chính xác (nghĩa là, một điều kiện bình đẳng tạo ra mối quan hệ). Cách tiếp cận truyền thống sử dụng dấu bằng làm toán tử so sánh trong mệnh đề WHERE. Phương pháp JOIN có thể sử dụng các từ khóa NATURAL JOIN, JOIN ... USING, hoặc JOIN ... ON.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Kết quả của phép toán đối sánh bất đẳng thức là đúng
  2. Kết quả của phép toán đối sánh bất đẳng thức là 0
  3. Kết quả của phép toán đối sánh bất đẳng thức là 1
  4. Kết quả của phép toán đối sánh bất đẳng thức là sai

Answer: A. Một phép nối bình đẳng được tạo khi các bản ghi nối dữ liệu từ hai bảng khác nhau là một khớp chính xác (nghĩa là, một điều kiện bình đẳng tạo ra mối quan hệ). Cách tiếp cận truyền thống sử dụng dấu bằng làm toán tử so sánh trong mệnh đề WHERE. Phương pháp JOIN có thể sử dụng các từ khóa NATURAL JOIN, JOIN ... USING, hoặc JOIN ... ON.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Kết quả của phép toán đối sánh bất đẳng thức là đúng
  2. Kết quả của phép toán đối sánh bất đẳng thức là 0
  3. Kết quả của phép toán đối sánh bất đẳng thức là 1
  4. Kết quả của phép toán đối sánh bất đẳng thức là sai

Answer: A. Một phép nối bình đẳng được tạo khi các bản ghi nối dữ liệu từ hai bảng khác nhau là một khớp chính xác (nghĩa là, một điều kiện bình đẳng tạo ra mối quan hệ). Cách tiếp cận truyền thống sử dụng dấu bằng làm toán tử so sánh trong mệnh đề WHERE. Phương pháp JOIN có thể sử dụng các từ khóa NATURAL JOIN, JOIN ... USING, hoặc JOIN ... ON.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Kết quả của phép toán đối sánh bất đẳng thức là đúng
  2. Kết quả của phép toán đối sánh bất đẳng thức là 0
  3. Kết quả của phép toán đối sánh bất đẳng thức là 1
  4. Kết quả của phép toán đối sánh bất đẳng thức là sai

Answer: A. Một phép nối bình đẳng được tạo khi các bản ghi nối dữ liệu từ hai bảng khác nhau là một khớp chính xác (nghĩa là, một điều kiện bình đẳng tạo ra mối quan hệ). Cách tiếp cận truyền thống sử dụng dấu bằng làm toán tử so sánh trong mệnh đề WHERE. Phương pháp JOIN có thể sử dụng các từ khóa NATURAL JOIN, JOIN ... USING, hoặc JOIN ... ON.

43.What is true regarding a Self-Join in Oracle DB?

  1. Chỉ cần hai bảng để tham gia hoạt động
  2. Các cột trong tập kết quả được lấy từ hai bảng nhưng được hiển thị trong một bảng
  3. Về mặt khái niệm, bảng nguồn tự sao chép để tạo ra bảng đích. (Oracle không trùng lặp các bảng)
  4. Tất cả những điều trên

Answer: C. Tự nối được sử dụng khi một bảng phải được liên kết với chính nó để truy xuất dữ liệu bạn cần. Bí danh bảng được yêu cầu trong mệnh đề FROM để thực hiện tự nối.

44. With respect to the query and the table structure given below,answer the question.

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 *
FROM employees a join employees b
WHERE a.employee_id  = b.employee_id ;

Oracle coi bảng nào sau đây là bảng nguồn và bảng đích?

  1. a là nguồn và b là đích
  2. b là nguồn và a là đích
  3. Oracle không coi bất kỳ bảng nào là nguồn hoặc đích
  4. Không có cái nào ở trên

Answer: A. Lần xuất hiện đầu tiên của bảng nhân viên được lấy làm nguồn và các lần xuất hiện tiếp theo là b, c, v.v.

45.In what scenarios can we use Self-Joins ideally in Oracle DB?

  1. Khi chúng ta cần tìm các bản ghi trùng lặp trong một bảng
  2. Khi nào chúng ta cần lấy giá trị NULL từ một bảng
  3. Khi chúng ta cần hiển thị một cột của bảng hai lần
  4. Khi chúng ta cần hiển thị thứ bậc của các thực thể có liên quan

Answer: D.

46. What is true about NATURAL JOINS in Oracle DB?

  1. Các cột được nối có cùng tên nhưng có thể có các kiểu dữ liệu khác nhau
  2. Các cột được nối có thể có cùng kiểu dữ liệu nhưng tên khác nhau
  3. Các cột được nối phải có tên giống nhau và cùng kiểu dữ liệu
  4. Không có cái nào ở trên

Answer: C. Từ khóa NATURAL JOIN không yêu cầu điều kiện để thiết lập mối quan hệ giữa hai bảng. Tuy nhiên, một cột chung phải tồn tại. Không thể sử dụng các định nghĩa cột với các từ khóa NATURAL JOIN.

47.A report has to be extracted which gives the department name, department ID, department city and location ID only for departments 100 and 101. Using NATURAL JOINS, which of the following options will give the required results?

  1. SELECT department_id , department_name  ,location, city
    FROM departments 
    NATURAL JOIN locations 
    WHERE department_id in (100,101);
  2. SELECT department_id , department_name  ,location, city
    FROM locations 
    NATURAL JOIN departments 
    WHERE department_id BETWEEN 100 AND 101;
  3. SELECT department_id , department_name  ,location, city
    FROM departments 
    NATURAL JOIN locations 
    WHERE department_id >100
    AND department_id >101;
  4. SELECT department_id , department_name  ,location, city
    FROM departments 
    NATURAL JOIN locations ;

Answer: A. WHERE có thể được sử dụng cho các điều kiện bổ sung sau mệnh đề NATURAL JOIN.

48.In which of the following scenarios shall a USING clause or a NATURAL JOIN clause be used?

  1. Khi tên của các cột từ các bảng giống hệt nhau thì hãy sử dụng mệnh đề USING
  2. Khi kiểu dữ liệu của các cột từ các bảng giống hệt nhau thì hãy sử dụng NATURAL JOINS
  3. Nếu một số cột có tên giống nhau nhưng kiểu dữ liệu không khớp, có thể sử dụng USING
  4. THAM GIA TỰ NHIÊN chỉ nên được sử dụng khi tên cột và kiểu dữ liệu của chúng giống nhau

Answer: C, D. NATURAL JOINS và USING loại trừ lẫn nhau, mệnh đề USING chỉ nên được sử dụng để khớp với một cột khi nhiều cột khớp.

49.Examine the table structures given. What will be the outcome of the following query? (Choose the most appropriate answer)

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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
SELECT e.name, b.bonus
FROM employees e 
JOIN bonus b
USING (job_id)
WHERE e.job_id  like 'SA%');
  1. Nó cho biết tên và tiền thưởng mà tất cả nhân viên trong một số công ty có được
  2. Nó cho biết tên và tiền thưởng có được bởi tất cả nhân viên ở một chức danh công việc cụ thể trong một công ty
  3. Nó thực hiện thành công việc đưa ra tất cả các tên và tiền thưởng mà tất cả nhân viên có được trong mọi công việc
  4. Nó tạo ra một lỗi ORA.

Answer: D. (Các) cột được sử dụng trong mệnh đề USING không được có định danh (tên bảng hoặc bí danh) ở bất kỳ đâu trong câu lệnh SQL.

50.What is true with respect to INNER JOINS and OUTER JOINS in Oracle DB?

  1. INNER JOIN chỉ trả về các hàng được so khớp
  2. OUTER JOIN chỉ trả về các hàng không khớp
  3. OUTER JOIN trả về các hàng được so khớp cũng như các hàng không khớp
  4. Không có cái nào ở trên

Answer: A, C. Một phép nối có thể là một phép nối bên trong, trong đó các bản ghi duy nhất được trả về có một bản ghi phù hợp trong tất cả các bảng hoặc một phép nối bên ngoài, trong đó các bản ghi có thể được trả về bất kể có một bản ghi phù hợp trong phép nối hay không. Một phép nối bên ngoài được tạo khi bản ghi cần được đưa vào kết quả mà không cần có bản ghi tương ứng trong bảng nối. Các bản ghi này được khớp với các bản ghi NULL để chúng được đưa vào đầu ra.

51. What is true regarding FULL OUTER JOIN in Oracle DB?

  1. Khi cả LEFT OUTER JOIN và RIGHT OUTER JOIN xuất hiện trong cùng một truy vấn, nó được gọi là FULL OUTER JOIN
  2. FULL OUTER JOIN giống như OUTER JOIN
  3. Cả A và B
  4. Một phép nối giữa hai bảng trả về kết quả của phép nối INNER và phép nối LEFT và RIGHT OUTER JOIN được gọi là FULL OUTER JOIN

Answer: D. Một kết nối bên ngoài đầy đủ bao gồm tất cả các bản ghi từ cả hai bảng, ngay cả khi không tìm thấy bản ghi tương ứng trong bảng khác.

Examine the given table structures and answer the questions 52 and 53 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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
SQL> desc bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)

52.Consider the following query.

SELECT e.job_id , e.first_name, d.department_id 
FROM departments D JOIN employees e JOIN BONUS b
USING (job_id );

Truy vấn này dẫn đến một lỗi. Lý do của lỗi là gì?

  1. THAM GIA..USING chỉ có thể xảy ra giữa hai bảng cùng một lúc
  2. Mệnh đề USING trong truy vấn không có bất kỳ cột nào từ bộ
  3. Không có mệnh đề WHERE trong truy vấn
  4. Không có cái nào ở trên

Answer: A. Table1 JOIN table2 JOIN table3 không được phép nếu không có mệnh đề BẬT cho giữa mỗi JOIN

53.You need to display all the non-matching rows from the EMPLOYEES table and the non-matching rows from the DEPARTMENT table without giving a Cartesian product of rows between them. Which of the following queries will give the desired output?

  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 ) ;

Answer: C. FULL OUTER JOIN trả về các hàng không khớp từ cả hai bảng. Một kết nối bên ngoài đầy đủ bao gồm tất cả các bản ghi từ cả hai bảng, ngay cả khi không tìm thấy bản ghi tương ứng trong bảng khác.

54.Which of the following ANSI SQL: 1999 join syntax joins are supported by Oracle?

  1. Sản phẩm Descartes
  2. Gia nhập tự nhiên
  3. Tham gia đầy đủ OUTER
  4. Equijoins

Answer: D.

55.Which of the following is not a format for Outer Joins in Oracle DB?

  1. Right
  2. Left
  3. Centre
  4. Full

Answer: C. Ngoại trừ 'Trung tâm', 3 loại còn lại là các loại định dạng của Kết nối bên ngoài trong Oracle DB. Với phương thức JOIN cho các phép nối ngoài, bạn có thể thêm các từ khóa LEFT, RIGHT hoặc FULL.

Examine the given table structures. Answer the questions 56, 57 and 58 that follow by referring to 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 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 *
FROM employees e NATURAL JOIN department d;

56.You need to find the results obtained by the above query only for the departments 100 and 101. Which of the following clauses should be added / modified to the above query?

  1. ON (e.department_id = d.department_id) nên được thêm
  2. USING (e.department_id) nên được thêm vào
  3. WHERE e.department_id in (100,101) nên được thêm
  4. Không có cái nào ở trên

Answer: C. Mệnh đề NATURAL JOIN hoàn toàn khớp với tất cả các cột được đặt tên giống nhau. Để thêm các điều kiện bổ sung, mệnh đề WHERE có thể được sử dụng.

57.You need to find the results obtained by the above query for all those employees who have salaries greater than 20000. Which of the following clauses should be added / modified to the above query?

  1. ON (e.department_id = d.department_id) WHERE lương> 20000;
  2. USING (e.department_id) WHERE lương> 20000;
  3. USING (Department_id) WHERE lương> 20000;
  4. Lương WHERE> 20000;

Answer: D.

58.If the NATURAL JOIN in the above query is replaced by only JOIN which of the following should be added / modified to the above query to give the results pertaining to Department 100?

  1. ON (Department_id = 100);
  2. USING (e.department_id = 100);
  3. WHERE d.department_id = 100;
  4. ON (e.department_id = d.department_id và d.department_id = 100);

Answer: D. Các phép nối tương đương có thể được thêm vào để có thêm điều kiện sau mệnh đề BẬT.

59.A report has to be extracted to get the Managers for all the employees in the departments 10 and 20 of a company 'ABC'. Which of the following queries will give 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)
  1. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (employee_id );
  2. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (b.employee_id  = a.employee_id );
  3. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (a.manager_id  = b.employee_id )
    WHERE department_id  in (10,20);
  4. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (a.manager_id  = b.employee_id )
    WHERE a.department_id  in (10,20);

Answer: D. Tùy chọn C không chính xác bởi vì Department_id không có bí danh trong mệnh đề WHERE sẽ gây ra lỗi.

60.Which of the following queries will give results without duplicate values between the two tables EMPLOYEES and DEPARTMENT? (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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
  1. SELECT *
    FROM employees e NATURAL JOIN department d;
  2. SELECT *
    FROM employees e JOIN department d;
  3. SELECT *
    FROM employees e NATURAL JOIN department d
    USING (e.department_id );
  4. SELECT * 
    FROM employees e FULL OUTER JOIN department d
    USING (department_id );

Answer: D. FULL OUTER JOIN sẽ cung cấp tất cả các hàng phù hợp cũng như không khớp từ cả hai bảng loại trừ các giá trị trùng lặp.

Examine the structures for the tables as given here and answer the questions 61 to 64.

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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
SQL> desc locations
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 LOCATION_ID		 NOT NULL NUMBER(4)
 STREET_ADDRESS 		  VARCHAR2(40)
 POSTAL_CODE			  VARCHAR2(12)
 CITY			 NOT NULL VARCHAR2(30)
 STATE_PROVINCE 		  VARCHAR2(25)
 COUNTRY_ID			  CHAR(2)
SQL> desc locations
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 LOCATION_ID		 NOT NULL NUMBER(4)
 STREET_ADDRESS 		  VARCHAR2(40)
 POSTAL_CODE			  VARCHAR2(12)
 CITY			 NOT NULL VARCHAR2(30)
 STATE_PROVINCE 		  VARCHAR2(25)
 COUNTRY_ID			  CHAR(2)

61.What is true about the following query? (Choose the most appropriate answer)

SELECT *
FROM bonus b, employees e
WHERE b.job_id  (+) = e.job_id ;
  1. Nó sẽ hiển thị tất cả các khoản tiền thưởng thu được của tất cả các nhân viên.
  2. Nó sẽ hiển thị NULL cho cột tiền thưởng nếu một nhân viên cụ thể chưa nhận được bất kỳ khoản tiền thưởng nào
  3. Cả A và B
  4. Không có cái nào ở trên

Answer: B. Dấu (+) nằm trên LHS của phương trình có nghĩa là nó là một THAM GIA NGOÀI TRỜI PHẢI và ngược lại.

62.You have to list all the departments who have no employees yet in a company named 'XYZ'. Which of the following queries will give you the required results?

  1. SELECT department_id , department_name FROM departments d NATURAL JOIN employees e;
  2. SELECT department_id , department_name FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id );
  3. SELECT department_id , department_name FROM employees e LEFT OUTER JOIN departments d
    USING (department_id );
  4. SELECT department_id , department_name FROM employees e RIGHT OUTER JOIN departments d
    ON (e.department_id  = d.department_id );

Answer: D.

63.You need to extract a report which displays 'No department yet' for all those employees who are yet to be allocated to a department. Which of the following will fulfill the purpose?

  1. SELECT nvl(department_id ,'No department yet')
    FROM employees e RIGHT OUTER JOIN departments d
    ON (e.department_id  = d.department_id );
  2. SELECT nvl(department_id ,'No department yet')
    FROM departments d LEFT OUTER JOIN employees e
    ON (e.department_id  = d.department_id );
  3. SELECT nvl(department_id ,'No department yet')
    FROM employees e LEFT OUTER JOIN departments d
    ON (e.department_id  = d.department_id );
  4. SELECT nvl(department_id ,'No department yet')
    FROM employees e FULL OUTER JOIN departments d
    ON (e.department_id  = d.department_id );

Answer: C.

64.You need to extract a report which displays all the departments which have not been assigned to a city yet. Which of the following queries will give you the required output?

  1. SELECT department_id , department_name FROM departments d NATURAL JOIN locations l;
  2. SELECT department_id , department_name FROM departments d FULL OUTTER JOIN locations l
    ON (d.location_id = l.location_id);
  3. SELECT  d.department_id , d.department_name FROM departments d JOIN locations l
    USING (location_id);
  4. SELECT department_id , department_name FROM departments d LEFT OUTER JOIN locations l
    ON (d.location_id = l.location_id);

Answer: D.

65.In which two cases an OUTER JOIN should be used?

  1. Nếu các cột của bảng được nối có giá trị NULL
  2. Nếu các bảng đã tham gia KHÔNG có cột NULL
  3. Nếu các bảng đã kết hợp chỉ có dữ liệu chưa khớp
  4. Nếu các bảng đã kết hợp có cả dữ liệu phù hợp và không khớp

Answer: A, D. Một phép nối bên ngoài được tạo khi các bản ghi cần được đưa vào kết quả mà không có các bản ghi tương ứng trong bảng nối. Các bản ghi này được khớp với các bản ghi NULL để chúng được đưa vào đầu ra.

66.You need to find the salary grade obtained by each employee. Which of the following query will you use? (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 grade
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 GRADE 				  NUMBER
 LOSAL 				  NUMBER
 HISAL				  NUMBER
  1. SELECT employee_id , salary, grade
    FROM employees e JOIN grade g
    ON g.grade BETWEEN g.losal AND g.hisal
  2. SELECT employee_id , salary, grade
    FROM employees e FULL OUTER JOIN grade g
    WHERE g.grade > g.losal AND < g.hisal;
  3. SELECT employee_id , salary, grade 
    FROM employees e JOIN grade g
    ON (MIN(g.grade) = g.losal
    AND MAX(g.grade) = g.hisal);
  4. Không có cái nào ở trên

Answer: A.

67.Examine the table structures 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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)

Đánh giá câu lệnh SQL này:

SELECT e.employee_id , (.25* e.salary) + (.5 * e.commission_pct) + (.75 * b.bonus) as calc_val
FROM employees e, bonus b
WHERE e.employee_id  = b.employee_id ;

Điều gì sẽ xảy ra nếu bạn xóa tất cả các dấu ngoặc đơn khỏi phép tính?

  1. Giá trị hiển thị trong cột calc_val sẽ nhỏ hơn.
  2. Giá trị hiển thị trong cột calc_val sẽ cao hơn.
  3. Sẽ không có sự khác biệt trong cột calc_val.
  4. Một lỗi sẽ được báo cáo.

Answer: C.

68.Consider the exhibit and examine the structures of the EMPLOYEES, DEPARTMENTS, and GRADE tables. For which situation would you use a non-equijoin query?

  1. Để tìm điểm cho từng nhân viên
  2. Để liệt kê tên, job_id và tên người quản lý cho tất cả nhân viên
  3. Để tìm tên bộ phận của nhân viên.
  4. Để tìm số lượng nhân viên làm việc cho bộ phận Hành chính và có thu nhập dưới 30000

Answer: A. Một liên kết không bình đẳng thiết lập một mối quan hệ dựa trên bất kỳ điều gì khác ngoài một điều kiện bình đẳng. Các giá trị phạm vi được sử dụng với các phép nối không bình đẳng phải loại trừ lẫn nhau.

69.In which three cases would you use the USING clause? (Choose three.)

  1. Bạn muốn tạo một không tương đương.
  2. Các bảng được nối có nhiều cột NULL.
  3. Các bảng được nối có các cột cùng tên và các kiểu dữ liệu khác nhau.
  4. Bạn muốn sử dụng phép nối TỰ NHIÊN, nhưng bạn muốn hạn chế số cột trong điều kiện nối.

Answer: C, D. Phương pháp JOIN .... USING tương tự như phương pháp NATURAL JOIN, ngoại trừ cột chung được chỉ định trong mệnh đề USING. Một điều kiện không được bao gồm trong mệnh đề USING để cho biết các bảng có liên quan như thế nào. Ngoài ra, không thể sử dụng từ định danh cột cho cột chung được chỉ định trong mệnh đề SỬ DỤNG.

70.If the tables EMPLOYEES and BONUS have two columns with identical names viz: - SALARY and JOB_ID, which of the following queries are equivalent to each other? (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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
  1. SELECT * FROM employees E JOIN bonus B on (salary, job_id )
  2. SELECT * FROM employees E NATURAL JOIN bonus B on (salary, job_id )
  3. SELECT * FROM employees E JOIN bonus B USING (salary, job_id )
  4. SELECT * FROM employees E JOIN bonus B on (salary, job_id )

Answer: B, C.

71.Examine 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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)

Kiểm tra hai câu lệnh SQL sau:

Query 1
SELECT first_name,department_id 
FROM employees E JOIN departments D
USING (department_id );
Query 2
SELECT first_name,department_id 
FROM employees E NATURAL JOIN departments D
USING (department_id );

Câu nào đúng về kết quả?

  1. Chỉ truy vấn 1 thực thi thành công và cho kết quả cần thiết.
  2. Chỉ truy vấn 2 thực thi thành công và cho kết quả cần thiết.
  3. Cả hai truy vấn 1 và 2 đều thực thi thành công và cho kết quả khác nhau.
  4. Cả hai truy vấn 1 và 2 đều thực thi thành công và cho cùng một kết quả được yêu cầu.

Answer: D.

72.You need to generate a report showing the department location along with the employee name for all hires made before 20th January, 2013.

Bạn đưa ra truy vấn sau:

SELECT department_name  , first_name||' '||last_name
FROM employees E JOIN department d
ON ( hire_date < '20-JAN-2013')
JOIN locations L
ON  (l.location_id = d.location_id) ;

Câu lệnh nào là đúng đối với truy vấn trên?

  1. Nó thực thi thành công và đưa ra kết quả cần thiết.
  2. Nó thực thi thành công nhưng không đưa ra kết quả cần thiết.
  3. Nó tạo ra một lỗi vì thứ tự nối của các bảng không chính xác.
  4. Nó tạo ra lỗi vì các điều kiện tương đương và không tương đương không thể được sử dụng trong cùng một câu lệnh SELECT.

Answer: B.

73.Examine the structure of the EMPLOYEES table:

Bạn muốn tìm hiểu xem có bất kỳ thông tin chi tiết nào của nhân viên đã được nhập nhiều lần bằng cách sử dụng EMPLOYEE_ID khác nhau hay không, bằng cách liệt kê tất cả các tên trùng lặp. Bạn có thể sử dụng phương pháp nào để có được kết quả cần thiết?

  1. self-join
  2. tham gia đầy đủ bên ngoài với tự tham gia
  3. trái ngoài tham gia với tự tham gia
  4. tham gia bên ngoài phải với tự tham gia

Answer: A. Tự nối được sử dụng khi một bảng phải được liên kết với chính nó để truy xuất dữ liệu bạn cần. Bí danh bảng được yêu cầu trong mệnh đề FROM để thực hiện tự nối.

Examine the structure of the tables DEPARTMENTS and LOCATIONS and answer the questions 74 and 75 that follow.

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)
SQL> desc locations
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 LOCATION_ID		 NOT NULL NUMBER(4)
 STREET_ADDRESS 		  VARCHAR2(40)
 POSTAL_CODE			  VARCHAR2(12)
 CITY			 NOT NULL VARCHAR2(30)
 STATE_PROVINCE 		  VARCHAR2(25)
 COUNTRY_ID			  CHAR(2)

74.You need to find out the departments that have not been allocated any location. Which query would give the required result?

  1. SELECT d.department_id , d.department_name FROM departments d JOIN locations l
    ON (d.location_id = l.location_id);
  2. SELECT d.department_id , d.department_name FROM departments d RIGHT OUTER JOIN locations l
    ON (d.location_id = l.location_id);
  3. SELECT d.department_id , d.department_name FROM departments d FULL JOIN locations l
    ON (d.location_id = l.location_id);
  4. SELECT d.department_id , d.department_name FROM departments d LEFT OUTER JOIN locations l
    ON (d.location_id = l.location_id);

Answer: B.

75.You want to list all departments that are not located in any location along with the department name. Evaluate the following query:

SELECT d.department_id , d.department_name  ,l.location_id, l.city
FROM departments D __________________   location L 
ON (d.location_id = l.location_id);

Hai tùy chọn JOIN nào có thể được sử dụng vào chỗ trống trong truy vấn trên để đưa ra kết quả chính xác?

  1. JOIN
  2. THIÊN NHIÊN THAM GIA
  3. THAM GIA BÊN NGOÀI TRÁI
  4. THAM GIA ĐÚNG

Answer: A, C.

76. You need to generate a report that shows all department IDs, with corresponding employees (if any) and bonus details (if any), for all employees. Which FROM clause gives the required result? (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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
  1. TỪ các phòng ban LEFT OUTER THAM GIA nhân viên SỬ DỤNG (Department_id) Tiền thưởng FULL OUTER JOIN
  2. FULL OUTER THAM GIA bộ phận SỬ DỤNG (Department_id);
  3. TỪ tiền thưởng THAM GIA nhân viên SỬ DỤNG (job_id)
  4. TỪ nhân viên FULL OUTER THAM GIA các phòng ban Tiền thưởng FULL OUTER JOIN

Answer: A.

77. Examine the following exhibits:

Bạn muốn tạo một báo cáo liệt kê ID của nhân viên và các khoản hoa hồng tương ứng của họ và các phòng ban (nếu có), nếu các khoản hoa hồng đó tồn tại hay không. Đánh giá truy vấn sau:

SELECT e.employee_id , bonus, department_name FROM bonus b_____________ employees
USING (job_id ) ____________ departments 
USING (department_id )
WHERE commission_pct  IS NOT NULL;

Sự kết hợp nào của phép nối được sử dụng trong các ô trống trong truy vấn trên cho kết quả chính xác?

  1. THAM GIA; THAM GIA BÊN NGOÀI TRÁI
  2. THAM GIA NGOÀI TRỜI ĐẦY ĐỦ; THAM GIA NGOÀI TRỜI ĐẦY ĐỦ
  3. THAM GIA ĐÚNG NGƯỜI RA NGOÀI; THAM GIA BÊN NGOÀI TRÁI
  4. THAM GIA BÊN NGOÀI TRÁI; THAM GIA ĐÚNG

Answer: A.

78.Predict the outcome of the following query.

SELECT e.salary, bonus
FROM employees E JOIN bonus b
USING (salary,job_id );
  1. Nó thực thi thành công.
  2. Nó ném ra một lỗi vì phần thưởng trong SELECT không có bí danh
  3. Nó ném ra một lỗi vì mệnh đề USING không được có nhiều hơn 1 cột.
  4. Nó thực hiện thành công nhưng kết quả không chính xác.

Answer: D.

View the Exhibit and examine the structure of the EMPLOYEES, DEPARTMENTS, LOCATIONS and BONUS. Answer the questions from 79 and 80 that follow:

79.You need to list all the departments in the city of Zurich. You execute the following query:

SELECT D.DEPARTMENT_ID , D.DEPARTMENT_NAME  , L.CITY
FROM departments D JOIN LOCATIONS L
USING (LOC_ID,CITY) 
WHERE L.CITY = UPPER('ZURICH');

Dự đoán kết quả của truy vấn trên.

  1. Nó thực thi thành công.
  2. Nó báo lỗi vì một bộ định tính được sử dụng cho CITY trong câu lệnh SELECT.
  3. Nó báo lỗi vì tên cột trong SELECT không khớp
  4. Nó báo lỗi vì mệnh đề USING có CITY không phải là một cột phù hợp.

Answer: D. Chỉ những tên cột phù hợp mới được sử dụng trong mệnh đề USING.

80.Answer the question that follows the query given below:

SELECT e.first_name, d.department_id , e.salary, b.bonus
FROM bonus b join employees e
USING (job_id )
JOIN department d
USING (department_id )
WHERE d.loc = 'Zurich';

Bạn cần trích xuất một báo cáo cho biết tên, số phòng ban, tiền lương và tiền thưởng của các nhân viên của một công ty có tên 'ABC'. Truy vấn nào sau đây sẽ giải quyết được mục đích?

  1. SELECT e.first_name, d.department_id , e.salary, b.bonus
    FROM bonus b join employees e join departments d
    on (b.job_id  = e.job_id )
    on (e.department_id =d.department_id )
    WHERE d.loc = 'Zurich';
  2. SELECT e.first_name, d.department_id , e.salary, b.bonus
    FROM bonus b join employees e
    on (b.job_id  = e.job_id )
    JOIN department d
    on (e.department_id =d.department_id )
    WHERE d.loc = 'Zurich';
  3. SELECT e.first_name, d.department_id , e.salary, b.bonus
    FROM employees e join bonus b
    USING (job_id )
    JOIN department d
    USING (department_id )
    WHERE d.loc = 'Zurich';
  4. Không có cái nào ở trên

Answer: C. Truy vấn A sẽ ném ra một lỗi cú pháp, truy vấn B sẽ ném một lỗi định danh không hợp lệ giữa tiền thưởng và bộ phận.

Examine the Exhibits given below and answer the questions 81 to 85 that follow.

81. You need to find the managers' name for those employees who earn more than 20000. Which of the following queries will work for getting the required results?

  1. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E JOIN employees M
    USING (e.manager_id  = m.employee_id )
    WHERE e.salary >20000;
  2. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E JOIN employees M
    USING (e.manager_id)
    WHERE e.salary >20000;
  3. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E  NATURAL JOIN employees M
    USING (e.manager_id = m.employee_id )
    WHERE e.salary >20000;
  4. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E JOIN employees M
    ON (e.manager_id = m.employee_id )
    WHERE e.salary >20000;

Answer: D.

82.You issue the following query:

SELECT e.employee_id ,d.department_id 
FROM employees e NATURAL JOIN department d NATURAL JOIN bonus b
WHERE department_id  =100;

Câu nào đúng về kết quả của truy vấn này?

  1. Nó thực thi thành công.
  2. Nó tạo ra lỗi vì phép nối NATURAL chỉ có thể được sử dụng với hai bảng.
  3. Nó tạo ra lỗi vì một cột được sử dụng trong phép nối TỰ NHIÊN không thể có bộ định lượng.
  4. Nó tạo ra lỗi vì tất cả các cột được sử dụng trong phép nối TỰ NHIÊN phải có bộ định lượng.

Answer: C.

83.You want to display all the employee names and their corresponding manager names. Evaluate the following query:

SELECT e.first_name "EMP NAME", m.employee_name "MGR NAME"
FROM employees e ______________ employees m
ON e.manager_id = m.employee_id ;

Tùy chọn JOIN nào có thể được sử dụng vào ô trống trong truy vấn trên để nhận được kết quả đầu ra cần thiết?

  1. THAM GIA bên trong đơn giản
  2. THAM GIA NGOÀI TRỜI ĐẦY ĐỦ
  3. THAM GIA BÊN NGOÀI TRÁI
  4. THAM GIA ĐÚNG

Answer: C. Một phép nối bên ngoài bên trái bao gồm tất cả các bản ghi từ bảng được liệt kê ở phía bên trái của phép nối, ngay cả khi không tìm thấy kết quả khớp nào với bảng khác trong thao tác nối.

Consider the below exhibit and following query to answer questions 84 and 85. (Assume the table department has manager_id and department_name as its columns)

Select *
FROM employees e JOIN department d
ON (e.employee_id  = d.manager_id);

84. You need to display a sentence "(first_name) (last_name) is manager of the (department_name) department". Which of the following SELECT statements will successfully replace '*' in the above query to fulfill this requirement?

  1. SELECT e.first_name||' '||e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
  2. SELECT e.first_name, e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
  3. SELECT e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
  4. Không có cái nào ở trên

Answer: A.

85.What will happen if we omit writing the braces "( )" after the ON clause in the above query?

  1. Nó sẽ chỉ cung cấp tên của nhân viên và tên của người quản lý sẽ bị loại trừ khỏi tập kết quả
  2. Nó sẽ cho kết quả tương tự như với dấu ngoặc nhọn "()"
  3. Nó sẽ xuất hiện lỗi ORA vì bắt buộc phải viết dấu ngoặc nhọn "()" khi sử dụng mệnh đề JOIN..ON
  4. Không có cái nào ở trên

Answer: B. Các niềng răng không bắt buộc, nhưng sử dụng chúng cung cấp khả năng đọc rõ ràng về các điều kiện bên trong nó.

86. Which of the following queries creates a Cartesian join?

  1. SELECT title, authorid FROM books, bookauthor;
  2. SELECT title, name FROM books CROSS JOIN publisher;
  3. SELECT title, gift FROM books NATURAL JOIN promotion;
  4. tất cả những điều trên

Answer: A, B. Một phép nối Descartes giữa hai bảng trả về mọi kết hợp có thể có của các hàng từ các bảng. Một phép nối Descartes có thể được tạo ra bằng cách không bao gồm một phép toán nối trong truy vấn hoặc bằng cách sử dụng một CROSS JOIN.

87. Which of the following operators is not allowed in an outer join?

  1. AND
  2. =
  3. OR
  4. >

Answer: C. Oracle nêu ra ngoại lệ "ORA-01719: toán tử nối ngoài (+) không được phép trong toán hạng của OR hoặc IN"

88. Which of the following queries contains an equality join?

  1. SELECT title, authorid FROM books, bookauthor WHERE books.isbn = bookauthor.isbn AND retail > 20;
  2. SELECT title, name FROM books CROSS JOIN publisher;
  3. SELECT title, gift FROM books, promotion WHERE retail >= minretail AND retail <= maxretail;
  4. Không có cái nào ở trên

Answer: A. Một phép nối bình đẳng được tạo khi các bản ghi nối dữ liệu từ hai bảng khác nhau là một kết quả khớp chính xác (nghĩa là, một điều kiện bình đẳng tạo ra mối quan hệ).

89. Which of the following queries contains a non-equality join?

  1. SELECT title, authorid FROM books, bookauthor WHERE books.isbn = bookauthor.isbn AND retail > 20;
  2. SELECT title, name FROM books JOIN publisher USING (pubid);
  3. SELECT title, gift FROM books, promotion WHERE retail >= minretail AND retail <= maxretail;
  4. Không có cái nào ở trên

Answer: D. Không liên kết nào khớp các giá trị cột từ các bảng khác nhau dựa trên biểu thức bất đẳng thức. Giá trị của cột nối trong mỗi hàng trong bảng nguồn được so sánh với các giá trị tương ứng trong bảng đích. So khớp được tìm thấy nếu biểu thức được sử dụng trong phép nối, dựa trên toán tử bất đẳng thức, cho giá trị true. Khi một phép nối như vậy được xây dựng, một phép nối tiếp được thực hiện.

90. The following SQL statement contains which type of join?

SELECT title, order#, quantity
FROM books FULL OUTER JOIN orderitems
ON books.isbn = orderitems.isbn;
  1. equality
  2. self-join
  3. non-equality
  4. tham gia bên ngoài

Answer: D. Một kết nối bên ngoài đầy đủ bao gồm tất cả các bản ghi từ cả hai bảng, ngay cả khi không tìm thấy bản ghi tương ứng trong bảng khác.

91. Which of the following queries is valid?

  1. SELECT b.title, b.retail, o.quantity FROM books b NATURAL JOIN orders od NATURAL JOIN orderitems o WHERE od.order# = 1005;
  2. SELECT b.title, b.retail, o.quantity FROM books b, orders od, orderitems o WHERE orders.order# = orderitems.order# AND orderitems.isbn=books.isbn AND od.order#=1005;
  3. SELECT b.title, b.retail, o.quantity FROM books b, orderitems o WHERE o.isbn = b.isbn AND o.order#=1005;
  4. Không có cái nào ở trên

Answer: C. Nếu các bảng trong liên kết có bí danh, các cột được chọn phải được tham chiếu với bí danh chứ không phải với tên bảng thực.

92. Given the following query.

SELECT zip, order#
FROM customers NATURAL JOIN orders;

Truy vấn nào sau đây là tương đương?

  1. SELECT zip, order# FROM customers JOIN orders WHERE customers.customer# = orders.customer#;
  2. SELECT zip, order# FROM customers, orders WHERE customers.customer# = orders.customer#;
  3. SELECT zip, order# FROM customers, orders WHERE customers.customer# = orders.customer# (+);
  4. không có cái nào ở trên

Answer: B. Phép nối tự nhiên hướng dẫn Oracle xác định các cột có tên giống hệt nhau giữa bảng nguồn và bảng đích.

93. Examine the table structures as given. Which line in the following SQL statement raises an error?

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)
1. SELECT e.first_name, d.department_name
2. FROM employees  e, department d
3. WHERE e.department_id=d.department_id
  1. dòng 1
  2. dòng 2
  3. dòng 3
  4. Không có lỗi

Answer: A. Nếu truy vấn sử dụng tên bí danh trong điều kiện kết hợp, cột của chúng phải sử dụng bí danh để tham chiếu.

94. Given the following query:

SELECT lastname, firstname, order#
FROM customers LEFT OUTER JOIN orders
USING (customer#)
ORDER BY customer#;

Truy vấn nào sau đây trả về kết quả giống nhau?

  1. SELECT lastname, firstname, order# FROM customers c OUTER JOIN orders o ON c.customer# = o.customer# ORDER BY c.customer#;
  2. SELECT lastname, firstname, order# FROM orders o RIGHT OUTER JOIN customers c ON c.customer# = o.customer# ORDER BY c.customer#;
  3. SELECT lastname, firstname, order# FROM customers c, orders o WHERE c.customer# = o.customer# (+) ORDER BY c.customer#;
  4. Không có cái nào ở trên

Answer: B, C.

95. Which of the below statements are true?

  1. Không thể sử dụng các hàm nhóm đối với dữ liệu từ nhiều nguồn dữ liệu.
  2. Nếu nhiều bảng được nối trong một truy vấn, chứa các cột giống hệt nhau, thì Oracle chỉ chọn một trong số chúng.
  3. Phép nối tự nhiên được sử dụng để nối các hàng từ hai bảng dựa trên các cột giống hệt nhau.
  4. A và B

Answer: C. Các hàm nhóm có thể được sử dụng trên một truy vấn bằng phép nối Oracle. Các cột không rõ ràng phải được tham chiếu bằng bộ định tính.

96. Which line in the following SQL statement raises an error?

1. SELECT name, title
2. FROM books JOIN publisher
3. WHERE books.pubid = publisher.pubid
4. AND
5. cost < 45.95
  1. dòng 1
  2. dòng 2
  3. dòng 3
  4. dòng 4

Answer: C. Vì các bảng được nối bằng từ khóa JOIN, nên điều kiện bình đẳng phải được viết bằng mệnh đề USING chứ không phải mệnh đề WHERE.

97. Given the following query:

SELECT title, gift
FROM books CROSS JOIN promotion;

Truy vấn nào sau đây là tương đương?

  1. SELECT title, gift
    FROM books NATURAL JOIN promotion;
  2. SELECT title
    FROM books INTERSECT
    SELECT gift
    FROM promotion;
  3. SELECT title
    FROM books UNION ALL
    SELECT gift
    FROM promotion;
  4. SELECT title, gift
    FROM books, promotion;

Answer: D. Phép nối Descartes cũng giống như phép nối chéo.

98. If the CUSTOMERS table contains seven records and the ORDERS table has eight records, how many records does the following query produce?

SELECT *
FROM customers CROSS JOIN orders;
  1. 0
  2. 56
  3. 7
  4. 15

Answer: B. Nối chéo là tích chéo của các hàng có trong hai bảng.

99. Which of the following SQL statements is not valid?

  1. SELECT b.isbn, p.name
    FROM books b NATURAL JOIN publisher p;
  2. SELECT isbn, name
    FROM books b, publisher p
    WHERE b.pubid = p.pubid;
  3. SELECT isbn, name
    FROM books b JOIN publisher p
    ON b.pubid = p.pubid;
  4. SELECT isbn, name
    FROM books JOIN publisher
    USING (pubid);

Answer: A. Các cột không rõ ràng phải được tham chiếu với các vòng loại bảng.

100. Which of the following lists all books published by the publisher named 'Printing Is Us'?

  1. SELECT title
    FROM books NATURAL JOIN publisher
    WHERE name = 'PRINTING IS US';
  2. SELECT title
    FROM books, publisher
    WHERE pubname = 1;
  3. SELECT *
    FROM books b, publisher p
    JOIN tables ON b.pubid = p.pubid
    WHERE name = 'PRINTING IS US';
  4. không có cái nào ở trên

Answer: A. Giả sử rằng cột NAME không có trong bảng BOOKS, truy vấn A là hợp lệ.

101. Which of the following SQL statements is not valid?

  1. SELECT isbn
    FROM books
    MINUS
    SELECT isbn
    FROM orderitems;
  2. SELECT isbn, name
    FROM books, publisher
    WHERE books.pubid (+) = publisher.pubid (+);
  3. SELECT title, name
    FROM books NATURAL JOIN publisher
  4. Tất cả các câu lệnh SQL trên đều hợp lệ.

Answer: B. Truy vấn B đưa ra một ngoại lệ "ORA-01468: một vị từ chỉ có thể tham chiếu đến một bảng được nối ngoài".

102. Which of the following statements about an outer join between two tables is true?

  1. Nếu mối quan hệ giữa các bảng được thiết lập bằng mệnh đề WHERE, thì cả hai bảng đều có thể bao gồm toán tử nối ngoài.
  2. Để bao gồm các bản ghi chưa khớp trong kết quả, bản ghi được ghép nối với một bản ghi NULL trong bảng thiếu.
  3. Các từ khóa RIGHT, LEFT và FULL là tương đương.
  4. tất cả những điều trên

Answer: B.

103. Which line in the following SQL statement raises an error?

1. SELECT name, title
2. FROM books b, publisher p
3. WHERE books.pubid = publisher.pubid
4. AND
5. (retail > 25 OR retail-cost > 18.95);
  1. dòng 1
  2. dòng 3
  3. dòng 4
  4. dòng 5

Answer: B. Vì các bảng được sử dụng trong truy vấn có một định tính, các cột phải được tham chiếu bằng cách sử dụng cùng một.

104. What is the maximum number of characters allowed in a table alias?

  1. 10
  2. 155
  3. 255
  4. 30

Answer: D. Bí danh bảng có thể có tối đa 30 ký tự.

105. Which of the following SQL statements is valid?

  1. SELECT books.title, orderitems.quantity
    FROM books b, orderitems o
    WHERE b.isbn= o.ibsn;
  2. SELECT title, quantity
    FROM books b JOIN orderitems o;
  3. SELECT books.title, orderitems.quantity
    FROM books JOIN orderitems
    ON books.isbn = orderitems.isbn;
  4. không có cái nào ở trên

Answer: C.