การใช้คำถาม Set Operators

1.Which SET operator does the following figure indicate?

  1. UNION
  2. ยูเนี่ยนทั้งหมด
  3. INTERSECT
  4. MINUS

Answer: A. ตัวดำเนินการชุดใช้เพื่อรวมผลลัพธ์ของคำสั่ง SELECT สอง (หรือมากกว่า) ตัวดำเนินการชุดที่ถูกต้องใน Oracle 11g คือ UNION, UNION ALL, INTERSECT และ MINUS เมื่อใช้กับคำสั่ง SELECT สองชุดตัวดำเนินการชุด UNION จะส่งคืนผลลัพธ์ของแบบสอบถามทั้งสองอย่างไรก็ตามหากมีรายการที่ซ้ำกันคำสั่งเหล่านั้นจะถูกลบออกและระเบียนที่ซ้ำกันจะแสดงรายการเพียงครั้งเดียวในการรวมรายการที่ซ้ำกันในผลลัพธ์ให้ใช้ UNION ALL set operator.INTERSECT แสดงเฉพาะเร็กคอร์ดที่ส่งคืนโดยเคียวรีทั้งสอง ตัวดำเนินการชุด MINUS จะลบผลลัพธ์ของแบบสอบถามที่สองออกจากผลลัพธ์หากพบในผลลัพธ์ของแบบสอบถามแรกด้วย การดำเนินการชุด INTERSECT และ MINUS ให้ผลลัพธ์ที่ไม่ซ้ำซ้อน

2.Which SET operator does the following figure indicate?

  1. UNION
  2. ยูเนี่ยนทั้งหมด
  3. INTERSECT
  4. MINUS

Answer: B. UNION ALL ส่งคืนแถวที่รวมกันจากสองแบบสอบถามโดยไม่ต้องเรียงลำดับหรือลบรายการที่ซ้ำกัน

3.Which SET operator does the following figure indicate?

  1. UNION
  2. ยูเนี่ยนทั้งหมด
  3. INTERSECT
  4. MINUS

Answer: C. INTERSECT ส่งคืนเฉพาะแถวที่เกิดขึ้นในชุดผลลัพธ์ของคิวรีทั้งสองเรียงลำดับและลบรายการที่ซ้ำกัน

4.Which SET operator does the following figure indicate?

  1. UNION
  2. ยูเนี่ยนทั้งหมด
  3. INTERSECT
  4. MINUS

Answer: D. MINUS ส่งคืนเฉพาะแถวในชุดผลลัพธ์แรกที่ไม่ปรากฏในชุดผลลัพธ์ที่สองเรียงลำดับและลบรายการที่ซ้ำกัน

5.What is true about SET operators?

  1. พวกเขาเปลี่ยนค่าของแถว
  2. พวกเขารวมผลลัพธ์ของแบบสอบถามคอมโพเนนต์เพียงสองรายการเป็นผลลัพธ์เดียว
  3. พวกเขารวมผลลัพธ์ของแบบสอบถามคอมโพเนนต์ 10 รายการเป็นชุดผลลัพธ์สองชุด
  4. พวกเขารวมผลลัพธ์ของแบบสอบถามคอมโพเนนต์สองรายการขึ้นไปเป็นผลลัพธ์เดียว

Answer: D. ตัวดำเนินการชุดใช้เพื่อรวมผลลัพธ์ของคำสั่ง SELECT สอง (หรือมากกว่า) ตัวดำเนินการชุดที่ถูกต้องใน Oracle 11g คือ UNION, UNION ALL, INTERSECT และ MINUS

6.What are the queries containing SET operators called?

  1. Sub-queries
  2. แบบสอบถามย่อยที่เกี่ยวข้องร่วมกัน
  3. จัดกลุ่มตามข้อความค้นหา
  4. แบบสอบถามแบบผสม

Answer: D.

7.What is true about the UNION operator?

  1. ส่งคืนแถวจากแบบสอบถามรวมพร้อมกับค่า NULL
  2. ส่งคืนแถวสำหรับแบบสอบถามที่รวมกันหลังจากกำจัดรายการที่ซ้ำกัน
  3. ส่งคืนแถวสำหรับแบบสอบถามที่รวมพร้อมกับค่าที่ซ้ำกัน
  4. ส่งคืนแถวสำหรับแบบสอบถามที่รวมกันโดยไม่สนใจค่า NULL

Answer: B. UNION ส่งคืนแถวที่รวมกันจากสองคิวรีเรียงลำดับและลบรายการที่ซ้ำกัน

8.What is true about the UNION ALL operator?

  1. ส่งคืนแถวจากแบบสอบถามรวมพร้อมกับค่า NULL
  2. ส่งคืนแถวสำหรับแบบสอบถามที่รวมกันหลังจากกำจัดรายการที่ซ้ำกัน
  3. ส่งคืนแถวสำหรับแบบสอบถามที่รวมพร้อมกับค่าที่ซ้ำกัน
  4. ส่งคืนแถวสำหรับแบบสอบถามที่รวมกันโดยไม่สนใจค่า NULL

Answer: C. UNION ALL ส่งคืนแถวที่รวมกันจากสองแบบสอบถามโดยไม่ต้องเรียงลำดับหรือลบรายการที่ซ้ำกัน

9.What is true about the INTERSECT operator?

  1. ส่งคืนแถวจากแบบสอบถามรวมพร้อมกับค่า NULL
  2. ส่งคืนแถวสำหรับแบบสอบถามที่รวมกันหลังจากกำจัดรายการที่ซ้ำกัน
  3. ส่งคืนแถวทั่วไปจากการสืบค้นแบบรวม
  4. ไม่มีข้อใดข้างต้น

Answer: C. INTERSECT ส่งคืนเฉพาะแถวที่เกิดขึ้นในชุดผลลัพธ์ของคิวรีทั้งสองเรียงลำดับและลบรายการที่ซ้ำกัน

10.What is true about the MINUS operator?

  1. ส่งคืนแถวจากแบบสอบถามแรก แต่ไม่ใช่จากแบบสอบถามที่สอง
  2. ส่งคืนแถวสำหรับแบบสอบถามที่สอง แต่ไม่ใช่จากแบบสอบถามแรก
  3. ส่งคืนแถวที่ซ้ำกันสำหรับการสืบค้นแบบรวม
  4. ส่งคืนแถวสำหรับแบบสอบถามที่รวมกันโดยไม่สนใจค่า NULL

Answer: A. MINUS ส่งคืนเฉพาะแถวในชุดผลลัพธ์แรกที่ไม่ปรากฏในชุดผลลัพธ์ที่สองเรียงลำดับและลบรายการที่ซ้ำกัน

11.What is the precedence of the set operators UNION, UNION ALL, INTERSECT and MINUS?

  1. UNION, UNION ALL, INTERSECT และ MINUS
  2. MINUS, UNION, UNION ALL และ INTERSECT
  3. INTERSECT, MINUS, UNION ALL, UNION
  4. ลำดับความสำคัญเท่ากัน

Answer: D. ผู้ประกอบการตลท. มีความสำคัญเท่าเทียมกัน

12.What is the order of evaluation of set operators?

  1. ซ้ายไปขวา
  2. จากขวาไปซ้าย
  3. การประเมินแบบสุ่ม
  4. จากบนลงล่าง

Answer: A, D. สมมติว่าไม่มีการจัดกลุ่มแบบสอบถามโดยใช้วงเล็บผู้ดำเนินการ SET จะได้รับการประเมินจากบนลงล่างและจากซ้ายไปขวาในแนวนอน

13.In which of the following cases, parenthesis should be specified?

  1. เมื่อใช้ INTERSECT กับตัวดำเนินการชุดอื่น
  2. เมื่อใช้ UNION กับ UNION ALL
  3. เมื่อใช้ MINUS สำหรับแบบสอบถาม
  4. ไม่มีข้อใดข้างต้น

Answer: A. การใช้วงเล็บจะเปลี่ยนลำดับของการประเมินอย่างชัดเจนเมื่อใช้ INTERSECT กับตัวดำเนินการอื่น ๆ

14.What is true about the SELECT clause when SET operators are used?

  1. ไม่มีข้อ จำกัด เกี่ยวกับคอลัมน์ที่กำลังเลือก
  2. คอลัมน์นิพจน์ที่ใช้ในส่วนคำสั่ง SELECT ต้องตรงกับตัวเลขในการสืบค้นแบบรวม
  3. คอลัมน์นิพจน์ที่ใช้ในส่วนคำสั่ง SELECT ต้องเป็น N ในคิวรีแรกและ N-1 ในคิวรีรวมที่ตามมา
  4. ทั้ง B และ C

Answer: B. การรวมกันทั้งหมดควรมีหมายเลขเดียวกัน ของคอลัมน์เมื่อใช้ตัวดำเนินการ SET คอลัมน์ที่เกี่ยวข้องในแบบสอบถามที่ประกอบเป็นแบบสอบถามแบบผสมต้องอยู่ในกลุ่มชนิดข้อมูลเดียวกัน

15.What is true about the SET operators?

  1. ส่วนคำสั่ง SELECT ควรมีจำนวนคอลัมน์เท่ากันชนิดข้อมูลอาจแตกต่างกัน
  2. สามารถใช้ตัวดำเนินการ SET สำหรับการรวมสองแบบสอบถามเท่านั้น
  3. ประเภทข้อมูลของแต่ละคอลัมน์ในแบบสอบถามที่ 2 ต้องตรงกับประเภทข้อมูลของคอลัมน์ที่เกี่ยวข้องในแบบสอบถามแรก
  4. ไม่มีข้อใดข้างต้น

Answer: C. การรวมกันทั้งหมดควรมีหมายเลขเดียวกัน ของคอลัมน์เมื่อใช้ตัวดำเนินการ SET คอลัมน์ที่เกี่ยวข้องในแบบสอบถามที่ประกอบเป็นแบบสอบถามแบบผสมต้องอยู่ในกลุ่มชนิดข้อมูลเดียวกัน

16.Where can the ORDER BY clause be used in case when SET operators are used?

  1. ในแต่ละแบบสอบถามจะถูกรวมเข้าด้วยกัน
  2. ในแบบสอบถามแรกเท่านั้น
  3. ที่ท้ายสุดของแบบสอบถามผสม
  4. ไม่มีข้อใดข้างต้น

Answer: C. หากใช้คำสั่ง ORDER BY ระหว่างคำค้นหาใด ๆ ที่เข้าร่วมโดยใช้ตัวดำเนินการ SET จะทำให้เกิดข้อผิดพลาด ORA

17.What is true about the queries that have SET operators in their WHERE clause?

  1. แบบสอบถามเหล่านี้ต้องมีหมายเลขเดียวกัน และประเภทข้อมูลของคอลัมน์ในส่วนคำสั่ง SELECT
  2. หมายเลข ของคอลัมน์ที่ใช้ในคิวรี WHERE clause และ SELECT หลักอาจแตกต่างกัน
  3. หมายเลข ของคอลัมน์ที่ใช้ในคำสั่ง WHERE ควรเหมือนกันชนิดข้อมูลอาจแตกต่างกัน
  4. ไม่มีข้อใดข้างต้น

Answer: A. การรวมกันทั้งหมดควรมีหมายเลขเดียวกัน ของคอลัมน์เมื่อใช้ตัวดำเนินการ SET คอลัมน์ที่เกี่ยวข้องในแบบสอบถามที่ประกอบเป็นแบบสอบถามแบบผสมต้องอยู่ในกลุ่มชนิดข้อมูลเดียวกัน

18.What is true about the columns in the second query with respect to the columns in the first query?

  1. คอลัมน์ในแบบสอบถามที่ 2 ต้องอยู่ในกลุ่มชนิดข้อมูลเดียวกันกับคอลัมน์ที่เกี่ยวข้องในแบบสอบถามที่ 1
  2. ถ้าคอลัมน์ในแบบสอบถามที่ 1 เป็น NUMBER คอลัมน์ที่เกี่ยวข้องในแบบสอบถามที่ 2 ควรเป็น VARCHAR2
  3. ถ้าคอลัมน์ในแบบสอบถามที่ 1 เป็น NUMBER คอลัมน์ที่เกี่ยวข้องในการสืบค้นที่ 2 ควรเป็น NUMBER ด้วย
  4. ไม่มีข้อใดข้างต้น

Answer: A, C.

19.What among the following is true about SET operators?

  1. ไม่สามารถใช้ตัวดำเนินการ SET ในแบบสอบถามย่อยได้
  2. ตัวดำเนินการ SET สามารถใช้ได้เฉพาะในส่วนคำสั่ง WHERE เท่านั้น
  3. ORDER BY สามารถใช้สำหรับแบบสอบถามทั้งหมดที่รวมกันโดยตัวดำเนินการ SET
  4. สามารถใช้ตัวดำเนินการ SET ในแบบสอบถามย่อยได้

Answer: D.

20.What is the best way to change the precedence of SET operators given the fact that they have equal precedence?

  1. ลำดับการใช้งานของผู้ประกอบการตลท. สามารถเปลี่ยนลำดับความสำคัญได้
  2. ไม่สามารถเปลี่ยนลำดับความสำคัญเท่ากันได้
  3. วงเล็บสามารถใช้เพื่อเปลี่ยนลำดับความสำคัญได้
  4. ไม่มีข้อใดข้างต้น

Answer: C. วงเล็บสามารถใช้เพื่อจัดกลุ่มคิวรีเฉพาะเพื่อเปลี่ยนลำดับความสำคัญอย่างชัดเจน วงเล็บเป็นที่ต้องการมากกว่าตัวดำเนินการ SET อื่น ๆ ในระหว่างการดำเนินการ

21.What can be said about duplicate values and SET operators?

  1. ไม่มีตัวดำเนินการ SET แสดงค่าที่ซ้ำกัน
  2. ตัวดำเนินการ SET ทั้งหมดสามารถแสดงค่าที่ซ้ำกันได้
  3. เฉพาะโอเปอเรเตอร์ UNION ALL เท่านั้นที่แสดงค่าที่ซ้ำกัน
  4. ไม่มีข้อใดข้างต้น

Answer: C. UNION, INTERSECT และ MINUS กำจัดค่าที่ซ้ำกันโดยอัตโนมัติ

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?

  1. มันจะแสดง ID แผนกที่แตกต่างกันซึ่งมีอยู่ร่วมกันในตารางพนักงานและ DEPARTMENTS
  2. มันจะส่งข้อผิดพลาด ORA
  3. ไม่ได้เลือกแถว
  4. ไม่มีข้อใดข้างต้น

Answer: A. UNION ส่งคืนแถวที่รวมกันจากสองคิวรีเรียงลำดับและลบรายการที่ซ้ำกัน

23.What is true about the query given above?

  1. แบบสอบถามนี้ส่งกลับข้อผิดพลาด ORA
  2. ดำเนินการสำเร็จ แต่ไม่ให้ผลลัพธ์
  3. ไม่สามารถใช้แบบสอบถามจากตารางที่แตกต่างกันกับตัวดำเนินการ SET
  4. แบบสอบถามดำเนินการสำเร็จและให้ผลลัพธ์ตามที่คาดไว้

Answer: D. แบบสอบถามแบบผสมคือหนึ่งแบบสอบถามที่ประกอบด้วยแบบสอบถามหลายรายการโดยใช้ตารางที่แตกต่างกัน

24.What is the default sorting order of the results when UNION ALL operator is used?

  1. Descending
  2. Ascending
  3. A หรือ B
  4. ทั้งหมดที่กล่าวมา

Answer: B. การสืบค้นแบบผสมจะเรียงแถวตามค่าเริ่มต้นในทุกคอลัมน์จากซ้ายไปขวาตามลำดับจากน้อยไปหามากข้อยกเว้นเพียงอย่างเดียวคือ UNION ALL โดยที่แถวจะไม่ถูกจัดเรียง สถานที่เดียวที่อนุญาตให้ใช้คำสั่ง ORDER BY คือที่ส่วนท้ายของแบบสอบถามผสม

25.What will be the output of the compound query in which columns in the SELECT are of CHAR and equal length?

  1. เอาต์พุตจะมีชนิดข้อมูล VARCHAR2 ที่มีความยาวเท่ากัน
  2. เอาต์พุตจะมีชนิดข้อมูล CHAR ที่มีความยาวเท่ากัน
  3. เอาต์พุตจะมีชนิดข้อมูล CHAR ที่มีความยาวต่างกัน
  4. ผลลัพธ์จะมีข้อมูล NUMBER ประเภทที่มีความยาวเท่ากัน

Answer: B. คอลัมน์ในแบบสอบถามที่ประกอบเป็นแบบสอบถามแบบผสมสามารถมีชื่อต่างกันได้ แต่ชุดผลลัพธ์ผลลัพธ์จะใช้ชื่อของคอลัมน์ในแบบสอบถามแรก คอลัมน์ที่เกี่ยวข้องในแบบสอบถามที่ประกอบเป็นแบบสอบถามแบบผสมต้องอยู่ในกลุ่มชนิดข้อมูลเดียวกัน

26.What will be the output of the compound query in which columns in the SELECT are of CHAR and different lengths?

  1. เอาต์พุตจะมีชนิดข้อมูล VARCHAR2 ที่มีความยาวเท่ากัน
  2. เอาต์พุตจะมีชนิดข้อมูล CHAR ที่มีความยาวเท่ากัน
  3. เอาต์พุตจะมีชนิดข้อมูล CHAR ที่มีความยาวต่างกัน
  4. เอาต์พุตจะมีชนิดข้อมูล VARCHAR2 ที่มีความยาวของค่า CHAR ที่ใหญ่กว่า

Answer: D. แม้ว่ารายการคอลัมน์ที่เลือกไม่จำเป็นต้องเป็นชนิดข้อมูลเดียวกันทั้งหมด แต่ก็ต้องมาจากกลุ่มประเภทข้อมูลเดียวกัน ชุดผลลัพธ์ของแบบสอบถามผสมจะมีคอลัมน์ที่มีระดับความแม่นยำสูงกว่า

27.What will be the output of a compound query if either or both queries select values of VARCHAR2?

  1. เอาต์พุตจะมีชนิดข้อมูล VARCHAR2
  2. เอาต์พุตจะมีชนิดข้อมูล CHAR ที่มีความยาวเท่ากัน
  3. เอาต์พุตจะมีชนิดข้อมูล CHAR ที่มีความยาวต่างกัน
  4. เอาต์พุตจะมีชนิดข้อมูล VARCHAR2 ที่มีความยาวของค่า CHAR ที่ใหญ่กว่า

Answer: A. แม้ว่ารายการคอลัมน์ที่เลือกไม่จำเป็นต้องเป็นชนิดข้อมูลเดียวกันทั้งหมด แต่ก็ต้องมาจากกลุ่มประเภทข้อมูลเดียวกัน ชุดผลลัพธ์ของแบบสอบถามผสมจะมีคอลัมน์ที่มีระดับความแม่นยำสูงกว่า

28.What is true if the compound queries select numeric data?

  1. จะมีลำดับความสำคัญเท่ากันของค่าตัวเลขตัวดำเนินการ
  2. ค่าที่ส่งคืนจะถูกกำหนดโดยลำดับความสำคัญของตัวเลข
  3. ค่าที่ส่งคืนจะเป็นประเภทข้อมูล NUMBER ประเภท
  4. ไม่มีข้อใดข้างต้น

Answer: B, C. แม้ว่ารายการคอลัมน์ที่เลือกไม่จำเป็นต้องเป็นชนิดข้อมูลเดียวกันทั้งหมด แต่ก็ต้องมาจากกลุ่มประเภทข้อมูลเดียวกัน ชุดผลลัพธ์ของแบบสอบถามผสมจะมีคอลัมน์ที่มีระดับความแม่นยำสูงกว่า

29.What will happen if the SELECT list of the compound queries returns both a VARCHAR2 and a NUMBER data type result?

  1. Oracle จะแปลงโดยปริยายและส่งคืนผลลัพธ์ประเภทข้อมูล VARCHAR2
  2. Oracle จะแปลงโดยปริยายและส่งกลับผลลัพธ์ประเภทข้อมูล NUMBER
  3. เกิดข้อผิดพลาด ORA
  4. ไม่มีข้อใดข้างต้น

Answer: C. Oracle ไม่แปลงประเภทข้อมูลโดยปริยาย

30.What is true about the UNION operator?

  1. จะกำจัดค่าที่ซ้ำกันโดยไม่สนใจค่า NULL
  2. ส่งคืนค่าที่ซ้ำกันโดยไม่สนใจค่า NULL
  3. ส่งคืนค่าที่ซ้ำกันรวมถึงค่า NULL
  4. จะกำจัดค่าที่ซ้ำกันและไม่ละเว้นค่า NULL

Answer: D. ค่า NULL จะไม่ถูกละเว้นเมื่อใช้ตัวดำเนินการ UNION

31.What can be said about the names and columns of a SQL query which uses the UNION operator?

  1. ชื่อของคอลัมน์ควรเหมือนกัน
  2. ชื่อและประเภทข้อมูลของคอลัมน์ควรเหมือนกัน
  3. ชื่อของคอลัมน์ไม่จำเป็นต้องเหมือนกัน
  4. ไม่มีข้อใดข้างต้น

Answer: C. คอลัมน์ในแบบสอบถามที่ประกอบเป็นแบบสอบถามแบบผสมสามารถมีชื่อต่างกันได้ แต่ชุดผลลัพธ์ผลลัพธ์จะใช้ชื่อของคอลัมน์ในแบบสอบถามแรก

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?

  1. 0
  2. 1
  3. 2
  4. 4

Answer: B. UNION ส่งคืนแถวที่รวมกันจากสองคิวรีเรียงลำดับและลบรายการที่ซ้ำกัน

33.What will be the outcome of the above query?

  1. จะแสดงรายละเอียดงานปัจจุบันและก่อนหน้าของพนักงานสองครั้ง
  2. จะแสดงรายละเอียดงานปัจจุบันและก่อนหน้าของพนักงานเพียงครั้งเดียว
  3. A หรือ B
  4. ไม่มีข้อใดข้างต้น

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?

  1. Once
  2. Twice
  3. Thrice
  4. ไม่มีข้อใดข้างต้น

Answer: B. UNION ส่งคืนแถวที่รวมกันจากสองคิวรีเรียงลำดับและลบรายการที่ซ้ำกัน ความซ้ำซ้อนวัดจากการรวมกันของคอลัมน์ไม่ใช่แต่ละคอลัมน์แยกกัน

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 ?

  1. 2 แถว
  2. 3 แถว
  3. ไม่มีแถว
  4. ข้อผิดพลาด ORA

Answer: B.

36.Which statements best describes the inference drawn from the questions 34 and 35?

  1. มีค่าที่ซ้ำกันสำหรับรหัสงาน
  2. แบบสอบถามดำเนินการ แต่ผลลัพธ์ที่สร้างขึ้นไม่คาดคิด
  3. ไม่มีค่าที่ซ้ำกันสำหรับแผนก
  4. ไม่มีข้อใดข้างต้น

Answer: C. เนื่องจากการรวมกันของรหัสงานและแผนกไม่ซ้ำกันจึงไม่มีรายการซ้ำกัน

37.What will be the sorting in the result set obtained by the query?

  1. จากมากไปหาน้อยบนรหัสพนักงาน
  2. จากมากไปหาน้อยใน Job ID
  3. จากน้อยไปหามากในรหัสพนักงาน
  4. จากน้อยไปหามากใน ID แผนก

Answer: C. การเรียงลำดับเริ่มต้นจะขึ้นอยู่กับคอลัมน์แรกเช่น: รหัสพนักงานในกรณีนี้อย่างไรก็ตามพฤติกรรมนี้สามารถแก้ไขได้โดยการวางคำสั่ง ORDER BY เดียวในตอนท้าย

38.Which of the following operators will be used to obtain duplicate records from the component queries?

  1. UNION
  2. ยูเนี่ยนทั้งหมด
  3. MINUS
  4. ไม่มีข้อใดข้างต้น

Answer: B. UNION ALL ไม่ได้กำจัดค่าที่ซ้ำกัน

39.What is the difference between the UNION and the UNION ALL operators?

  1. ไม่มีความแตกต่างกัน
  2. UNION ALL แสดงค่าที่ซ้ำกันด้วย
  3. เอาต์พุตในกรณีของ UNION ALL จะไม่เรียงลำดับตามค่าเริ่มต้น
  4. ไม่มีข้อใดข้างต้น

Answer: B, C. เมื่อใช้กับคำสั่ง SELECT สองคำสั่ง UNION set operator จะส่งคืนผลลัพธ์ของทั้งสองแบบสอบถาม อย่างไรก็ตามหากมีรายการที่ซ้ำกันรายการเหล่านั้นจะถูกลบออกและระเบียนที่ซ้ำกันจะแสดงรายการเพียงครั้งเดียว หากต้องการรวมรายการที่ซ้ำกันในผลลัพธ์ให้ใช้ตัวดำเนินการชุด UNION ALL

40.What is true about the INTERSECT operator?

  1. จำนวนคอลัมน์และประเภทข้อมูลของคอลัมน์ในแบบสอบถามคอมโพเนนต์ควรเท่ากัน
  2. ชื่อของคอลัมน์และชนิดข้อมูลของคอลัมน์ในแบบสอบถามคอมโพเนนต์ควรเหมือนกัน
  3. ทั้งเอและบี
  4. ไม่มีข้อใดข้างต้น

Answer: A. นี่คือคุณสมบัติเกณฑ์คุณสมบัติทั่วไปของผู้ประกอบการตลท.

41.What can be said about the result set if the order of the intersected tables is altered when using INTERSECT?

  1. ผลลัพธ์ถูกเปลี่ยนแปลง
  2. ผลลัพธ์ยังคงเหมือนเดิม
  3. การเรียงลำดับมีการเปลี่ยนแปลงในการเปลี่ยนแปลง
  4. ไม่มีข้อใดข้างต้น

Answer: B.

42.What among the following is true about the INTERSECT operator?

  1. จะละเว้นค่า NULL
  2. ไม่ละเว้นค่า NULL
  3. ส่งคืนแถวทั้งหมดจากแบบสอบถามองค์ประกอบแรก
  4. ไม่มีข้อใดข้างต้น

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)
  1. SELECT employee_id , job_id, first_name, last_name
    FROM employees
    UNION
    SELECT employee_id , job_id, first_name, last_name
    FROM job_history;
  2. SELECT employee_id , job_id, first_name, last_name
    FROM employees
    INTERSECT
    SELECT employee_id , job_id, first_name, last_name
    FROM job_history;
  3. 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;
  4. ไม่มีข้อใดข้างต้น

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?

  1. ผลลัพธ์ก็จะเหมือนเดิม
  2. ผลที่ได้จะแตกต่างกัน
  3. ผลลัพธ์จะเหมือนกัน แต่ลำดับจะต่างกัน
  4. ไม่มีข้อใดข้างต้น

Answer: A. ผลลัพธ์สามารถตีความได้ว่า - พนักงานที่ทำงานในตำแหน่งงานเดียวกันในแผนกเดียวกัน

45.What is true about the MINUS operator?

  1. ส่งคืนแถวทั้งหมดจากแบบสอบถามคอมโพเนนต์ทั้งหมด
  2. ส่งคืนเฉพาะแถวทั่วไปจากแบบสอบถามคอมโพเนนต์ทั้งหมด
  3. จะส่งคืนแถวทั้งหมดจากการสืบค้นแรกและไม่ใช่จากการสืบค้นที่ตามมา
  4. จะส่งคืนแถวที่แตกต่างกันทั้งหมดที่เลือกโดยแบบสอบถามแรก แต่ไม่ปรากฏในการสืบค้นต่อไป

Answer: D. ตัวดำเนินการชุด MINUS จะลบผลลัพธ์ของแบบสอบถามที่สองออกจากผลลัพธ์หากพบในผลลัพธ์ของแบบสอบถามแรกด้วย

46.What can be said regarding the number of columns and data types of the component queries when a MINUS operator is used?

  1. ควรเหมือนกันประเภทข้อมูลอาจแตกต่างกัน แต่ควรอยู่ในกลุ่มประเภทข้อมูลเดียวกัน
  2. ควรเหมือนกันพร้อมกับชื่อของคอลัมน์
  3. ทั้งเอและบี
  4. ไม่มีข้อใดข้างต้น

Answer: A. คุณสมบัติทั่วไปของตัวดำเนินการ 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)
  1. SELECT employee_id 
    FROM employees
    UNION
    SELECT employee_id 
    FROM job_history;
  2. SELECT employee_id 
    FROM employees
    INTERSECT
    Select employee_id 
    FROM job_history;
  3. SELECT employee_id 
    FROM employees
    MINUS
    Select employee_id 
    FROM job_history;
  4. 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?

  1. มันแสดงข้อผิดพลาดเนื่องจากไม่สามารถใช้ TO_CHAR (NULL) ได้
  2. ดำเนินการสำเร็จและให้ค่าสำหรับ id ของพนักงานชื่อแรกและบทบาทงานปัจจุบันรวมถึงแถวที่ซ้ำกัน
  3. ดำเนินการสำเร็จและให้ค่าสำหรับ id ของพนักงานชื่อแรกและงานทั้งหมดที่พนักงานจัดขึ้นโดยไม่รวมแถวที่ซ้ำกัน
  4. ไม่มีข้อใดข้างต้น

Answer: C. การสืบค้นแต่ละรายการต้องมีจำนวนคอลัมน์เท่ากันซึ่งมีการเปรียบเทียบในตำแหน่ง NULL สามารถแทนที่แทนคอลัมน์ที่หายไปในแบบสอบถามอื่น ๆ ภายในแบบสอบถามผสมเดียวกัน

49.Considering the above query, if the UNION operator is replaced by the MINUS operator, what will the result mean?

  1. ผลลัพธ์จะแสดงพนักงานที่มีรายการในตาราง JOB_HISTORY
  2. ผลลัพธ์แสดงพนักงานที่ไม่มีรายการใน JOB_HISTORY แต่มีอยู่ในตาราง EMPLOYEES
  3. A หรือ B อย่างใดอย่างหนึ่ง
  4. ไม่มีข้อใดข้างต้น

Answer: B. MINUS ให้ผลลัพธ์ที่ไม่ซ้ำกันซึ่งมีอยู่ในแบบสอบถามแรก แต่ไม่ใช่การสืบค้นที่สอง

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;
  1. ดำเนินการสำเร็จโดยให้ผลลัพธ์ที่ถูกต้องรวมถึงค่าที่ซ้ำกัน
  2. ดำเนินการสำเร็จโดยให้ผลลัพธ์ที่ถูกต้องโดยไม่รวมค่าที่ซ้ำกัน
  3. มันแสดงข้อผิดพลาด ORA
  4. ไม่มีข้อใดข้างต้น

Answer: C. คอลัมน์ CLOB หรือ LONG ไม่สามารถอยู่ในส่วนคำสั่ง SELECT เมื่อใช้ตัวดำเนินการชุด UNION

51.What will be the outcome of the query if UNION is replaced with UNION ALL?

  1. มันจะดำเนินการสำเร็จโดยให้ผลลัพธ์ที่ถูกต้องรวมถึงค่าที่ซ้ำกัน
  2. มันแสดงข้อผิดพลาด ORA
  3. จะดำเนินการสำเร็จโดยให้ผลลัพธ์ที่ถูกต้องโดยไม่รวมค่าที่ซ้ำกัน
  4. ดำเนินการสำเร็จ แต่ให้ผลลัพธ์ที่ไม่ถูกต้อง

Answer: B. ตัวดำเนินการ. UNION, UNION ALL, INTERSECT และ MINUS เมื่อใช้กับคอลัมน์ LONG หรือ 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. 1
  2. 2
  3. 4
  4. 3

Answer: D. ตัวดำเนินการ SET ที่จะใช้จะเป็น N-1 โดยที่ 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?

  1. การรวมแนวนอน
  2. คาร์ทีเซียนเข้าร่วม
  3. การรวมแนวตั้ง
  4. การรวมภายนอก

Answer: C.

54.What is the difference between a UNION and INTERSECT operators? (Choose only the best difference)

  1. UNION รวมผลลัพธ์ของแบบสอบถามคอมโพเนนต์สองรายการเป็นชุดผลลัพธ์เดียวโดยมีค่าที่ซ้ำกัน
  2. INTERSECT ส่งคืนเฉพาะแถวที่ส่งคืนโดยแต่ละคิวรีคอมโพเนนต์ทั้งสอง
  3. UNION ให้ค่าที่แตกต่างจากเคียวรีคอมโพเนนต์ INTERSECT ให้ค่าทั่วไปจากเคียวรีคอมโพเนนต์
  4. ทั้ง B และ 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?

  1. UNION
  2. ยูเนี่ยนทั้งหมด
  3. INTERSECT
  4. ไม่มีข้อใดข้างต้น

Answer: B. UNION ALL ส่งคืนแถวที่รวมกันจากสองแบบสอบถามโดยไม่ต้องเรียงลำดับหรือลบรายการที่ซ้ำกัน

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?

  1. INTERSECT
  2. UNION
  3. MINUS
  4. ไม่มีข้อใดข้างต้น

Answer: D. UNION ALL จะให้ผลลัพธ์ที่ไม่เรียงลำดับพร้อมกับรายการที่ซ้ำกัน

57.What is the difference between the result sets when using a UNION and a UNION ALL set operators?

  1. ผลลัพธ์ที่กำหนดจาก UNION ALL จะถูกกรองรวมทั้งค่าที่ซ้ำกัน
  2. ผลลัพธ์ที่กำหนดจาก UNION จะถูกกรองและจัดเรียงรวมถึงค่าที่ซ้ำกัน
  3. ผลลัพธ์ที่ตั้งจาก UNION ALL จะไม่เรียงลำดับและมีค่าที่ซ้ำกัน
  4. ผลลัพธ์ที่กำหนดจาก UNION จะถูกกรองและจัดเรียงโดยไม่มีค่าที่ซ้ำกัน

Answer: C, D.

58.The UNION operator has more overhead on the database than the UNION ALL. What is wrong in this statement?

  1. คำชี้แจงถูกต้อง
  2. ตัวดำเนินการ UNION ALL มีค่าใช้จ่ายบนฐานข้อมูลมากกว่าตัวดำเนินการ UNION
  3. UNION ต้องจัดเรียงและกำจัดรายการที่ซ้ำกันซึ่งส่งผลให้เกิดค่าใช้จ่ายเพิ่มเติม
  4. ไม่มีข้อใดข้างต้น

Answer: A, C. UNION ต้องทำงานมากกว่า UNION ALL เนื่องจากมีการจัดเรียงและซ้ำซ้อนกับชุดผลลัพธ์ ดังนั้นขอแนะนำว่าหากไม่จำเป็นต้องมีแถวที่แตกต่างกันควรใช้ UNION ALL

59.What will be the outcome if the two queries given above are combined using the INTERSECT operator?

  1. จะแสดงเฉพาะพนักงานที่เป็นเสมียนในแผนก 10
  2. จะแสดงพนักงานทั้งหมดที่อยู่ในแผนก 10
  3. จะแสดงเสมียนทั้งหมด
  4. ไม่มีข้อใดข้างต้น

Answer: A. INTERSECT ส่งกลับระเบียนเหล่านั้นที่มีอยู่ในแบบสอบถาม 1 และแบบสอบถาม 2

60.What among the following is the difference between the INTERSECT and the UNION operators?

  1. INTERSECT เป็นไปตามลอจิกบูลีน 'AND' โดย UNION เป็นไปตามตรรกะบูลีน 'หรือ'
  2. UNION เป็นไปตามตรรกะบูลีน 'หรือ' ในขณะที่ INTERSECT เป็นไปตามตรรกะ 'AND'
  3. A หรือ B อย่างใดอย่างหนึ่ง
  4. ไม่มีข้อใดข้างต้น

Answer: A.

61.In which of the following SET operators, changing the order of the component queries will change the result set?

  1. UNION
  2. ยูเนี่ยนทั้งหมด
  3. MINUS
  4. INTERSECT

Answer: C. MINUS ส่งคืนเฉพาะแถวในชุดผลลัพธ์แรกที่ไม่ปรากฏในชุดผลลัพธ์ที่สองเรียงลำดับและลบรายการที่ซ้ำกัน

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?

  1. ไม่มีแถว
  2. 4
  3. 1
  4. NULL

Answer: A. จะไม่มีการเลือกแถวเนื่องจากตัวดำเนินการ INTERSECT จะไม่ได้รับผลลัพธ์ทั่วไปใด ๆ จากทั้งสองแบบสอบถาม - ตัวดำเนินการ INTERSECT ให้ผลลัพธ์ทั่วไปที่แสดงในแบบสอบถาม 1 และแบบสอบถาม 2

63.What will be the outcome of the query if the INTERSECT operator is replaced with MINUS operator?

  1. 3
  2. 4
  3. 0
  4. 1

Answer: B. MINUS ให้ผลลัพธ์ที่มีอยู่ในแบบสอบถามแรกและไม่ปรากฏในแบบสอบถามที่สอง

64.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION operator?

  1. 1

    4

  2. 4

    1

  3. NULL
  4. 0

Answer: A. UNION จะสร้างแถวที่แตกต่างกันในผลลัพธ์ที่กำหนดโดยเรียงลำดับจากน้อยไปมาก

65.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION ALL operator?

  1. 4

    1

  2. 0
  3. NULL
  4. 1

    4

Answer: A. UNION ALL แสดงผลลัพธ์ตามตำแหน่งในแบบสอบถามโดยไม่ต้องเรียงลำดับ

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. 1

    4

  2. 4

    1

  3. NULL
  4. ไม่มีข้อใดข้างต้น

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)

  1. มันจะส่งคืนแถวที่แตกต่างกันในสองตาราง
  2. มันจะส่งคืนแถวทั่วไปในสองตาราง
  3. มันจะส่งคืนแถวทั้งหมดจากสองตาราง
  4. ไม่มีข้อใดข้างต้น

Answer: A.

68.What can concluded if the above given query yields rows only from JOB_HISTORY table?

  1. แสดงว่า JOB_HISTORY มีสองแถวที่แตกต่างจากตาราง JOB_HISTORY_ARCHIVE
  2. แสดงว่าสองแถวเหมือนกันในตาราง JOB_HISTORY และ JOB_HISTORY_ARCHIVE
  3. แสดงว่า JOB_HISTORY_ARCHIVE มีสองแถวที่แตกต่างจากตาราง JOB_HISTORY
  4. ไม่มีข้อใดข้างต้น

Answer: A.

69.What can be said if the above query gives no results?

  1. แสดงว่าทั้งสองตารางมีข้อมูลเดียวกัน
  2. แสดงว่ามีการวางคำสั่งคอมโพเนนต์ผิด
  3. แสดงว่ามีการใช้ตัวดำเนินการ SET ในแบบสอบถามผสมอย่างไม่ถูกต้อง
  4. ไม่มีข้อใดข้างต้น

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?

  1. COUNT(*)
  2. COUNT (*) และ GROUP BY staff_id
  3. COUNT (*) และ ORDER BY staff_id
  4. ไม่มีข้อใดข้างต้น

Answer: B. สามารถใช้ COUNT (*) เพื่อดูความแตกต่างระหว่างตาราง

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?

  1. NUM TEXT
    ---------- -----------
             1 employee
               departments
  2. NUM TEXT
    ---------- -----------
             1 employee
          NULL departments
  3. ข้อผิดพลาด ORA
  4. NUM TEXT
    ---------- -----------
               departments
             1 employee

Answer: C. ในที่นี้จะเปรียบเทียบตัวเลข 1 กับอักขระ NULL ซึ่งแสดงข้อผิดพลาด "ORA-01790: expression must have same datatype as similar expression"

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)

  1. ดำเนินการสำเร็จด้วยผลลัพธ์ที่ถูกต้อง
  2. ดำเนินการสำเร็จ แต่ไม่มีผลลัพธ์
  3. มันแสดงข้อผิดพลาด ORA
  4. ไม่มีข้อใดข้างต้น

Answer: C. NUMBER และ DATE ไม่อยู่ในประเภทข้อมูลเดียวกันล้มเหลว นี่คือตัวเลขที่ได้รับจาก MONTHS_BETWEEN จะถูกเปรียบเทียบกับ DATE และด้วยเหตุนี้ข้อผิดพลาด

73.Assume that the SELECT statement in the 2nd query is modified as below:

SELECT to_number (NULL) NUM FROM dual;

ผลจะเป็นอย่างไรเนื่องจากการเปลี่ยนแปลงนี้?

  1. ดำเนินการสำเร็จด้วยผลลัพธ์ที่ถูกต้อง
  2. ดำเนินการสำเร็จ แต่ไม่มีผลลัพธ์
  3. มันแสดงข้อผิดพลาด ORA
  4. ไม่มีข้อใดข้างต้น

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;

ส่วนหัวคอลัมน์ใดด้านล่างจะแสดงในชุดผลลัพธ์

  1. รหัส EMP
  2. รหัสพนักงาน
  3. EMPLOYEE_ID
  4. ข้อผิดพลาด ORA เนื่องจากชื่อคอลัมน์ต้องเหมือนกันในแบบสอบถามคอมโพเนนต์

Answer: B. คอลัมน์ในแบบสอบถามที่ประกอบเป็นแบบสอบถามแบบผสมสามารถมีชื่อต่างกันได้ แต่ชุดผลลัพธ์ผลลัพธ์จะใช้ชื่อของคอลัมน์ในแบบสอบถามแรก

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?

  1. ผลลัพธ์จะเรียงลำดับตามรหัสพนักงานจากตาราง JOB_HISTORY
  2. ผลลัพธ์จะเรียงลำดับตามรหัสพนักงานจากตาราง EMPLOYEES
  3. จะไม่มีการเรียงลำดับผลลัพธ์
  4. ข้อผิดพลาด ORA

Answer: D. ORDER BY ควรทำตามชื่อของคอลัมน์จากแบบสอบถามแรกไม่ใช่จากคอลัมน์แบบสอบถามที่ 2

76.Which of the following ORDER BY clauses can replace the erroneous ORDER BY in the query given above?

  1. สั่งซื้อโดย e.employee_id
  2. สั่งซื้อโดย j.2
  3. สั่งซื้อโดย 1
  4. ไม่มีข้อใดข้างต้นไม่อนุญาตให้ใช้ ORDER BY ในข้อความค้นหา

Answer: C. นี่เป็นข้อกำหนดทั่วไปมากกว่าและ Oracle จะเรียงลำดับตามคอลัมน์แรกของแบบสอบถามแรก

77.Consider the following exhibit and answer the question below:

SELECT au_doc
From audit
UNION
SELECT au_doc
From audit_yearly;

ผลลัพธ์ของแบบสอบถามที่ระบุข้างต้นจะเป็นอย่างไร

  1. จะให้เอกสารการตรวจสอบระหว่างสองตาราง
  2. ทำให้เกิดข้อผิดพลาด ORA ในการดำเนินการ
  3. จะให้เอกสารการตรวจสอบจากตาราง AUDIT
  4. ไม่มีข้อใดข้างต้น

Answer: B. ไม่สามารถใช้คอลัมน์ยาวกับตัวดำเนินการ SET ได้

78.Consider the query given below:

SELECT col_1
From TABLE (package1.proc1)
UNION
SELECT col_1
From TABLE (package2.proc2);

ผลลัพธ์ของข้อความค้นหาที่ให้ไว้ข้างต้นจะเป็นอย่างไร

  1. ดำเนินการสำเร็จด้วยรายการที่ซ้ำกัน
  2. ดำเนินการสำเร็จโดยไม่ซ้ำกัน
  3. มันแสดงข้อผิดพลาด ORA
  4. ไม่มีข้อใดข้างต้น

Answer: C. ไม่สามารถใช้นิพจน์ TABLE กับตัวดำเนินการ 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?

  1. ข้อผิดพลาด ORA
  2. Employee_id และ job_id
  3. Employee_id
  4. ไม่มีข้อใดข้างต้น

Answer: A. ไม่สามารถใช้ประโยค FOR UPDATE กับแบบสอบถามรวมโดยใช้ตัวดำเนินการ SET

80.What will be the outcome of the following query?

SELECT * from employees
UNION
SELECT job_id FROM job_history;;
  1. จะให้คอลัมน์ทั้งหมดจากตารางพนักงานและเฉพาะคอลัมน์ job_id จากตาราง job_history
  2. มันจะทำให้เกิดข้อผิดพลาดเนื่องจากจำนวนคอลัมน์ที่ควรจะตรงกับในแบบสอบถามคอมโพเนนต์
  3. ไม่มี B หรือ C
  4. ไม่มีข้อใดข้างต้น

Answer: B.

81.If UNION, UNION ALL, INTERSECT are used in one SQL statement which of the following is true regarding the SQL statement?

  1. UNION, UNION ALL จะดำเนินการก่อนจากนั้นชุดผลลัพธ์จะเป็นคำสั่ง INTERSECT
  2. การดำเนินการของ INTERSECT จะนำหน้าการเรียกใช้ UNION และ UNION ALL
  3. การดำเนินการจะทำจากขวาไปซ้ายโดยคำนึงถึงตัวดำเนินการทั้งหมดในเวลาเดียวกัน
  4. การดำเนินการจะทำจากซ้ายไปขวาโดยคำนึงถึงตัวดำเนินการทั้งหมดในเวลาเดียวกัน

Answer: D.

82.Consider the query given below and answer the question that follow:

SELECT '3' FROM dual
INTERSECT
SELECT 3f FROM dual;

อะไรคือความจริงเกี่ยวกับการดำเนินการของแบบสอบถามที่ให้ไว้ข้างต้น

  1. มันดำเนินการสำเร็จ
  2. มันแสดงข้อผิดพลาด
  3. ให้ผลลัพธ์ 3.
  4. ให้ผลลัพธ์ 3f

Answer: B. ตัวอักษรต้องอยู่ในเครื่องหมายคำพูดเดียว

83.Which of the following is false for set operators used in SQL queries?

  1. ตัวดำเนินการชุดใช้ได้เมื่อใช้กับคอลัมน์ที่มีประเภทข้อมูล LONG
  2. ตัวดำเนินการชุดไม่ถูกต้องกับคอลัมน์ประเภท BLOB, CLOB, BFILE, VARRAY หรือตารางที่ซ้อนกัน
  3. เพื่อให้คิวรีเลือกที่มีนิพจน์ควรระบุนามแฝงของคอลัมน์เพื่ออ้างอิงถึง order_by_clause
  4. คุณไม่สามารถใช้ตัวดำเนินการเหล่านี้ในคำสั่ง SELECT ที่มีนิพจน์คอลเลคชัน TABLE

Answer: A. ไม่รองรับตัวดำเนินการ SET สำหรับชนิดข้อมูล LONG, CLOB และ 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;

คำสั่ง ORDER BY ใดใช้ได้กับข้อความค้นหาข้างต้น (เลือกทุกข้อที่ใช่)

  1. สั่งซื้อจาก 2,1
  2. สั่งซื้อโดย EMPLOYEE_NO
  3. ORDER BY 2, รหัสพนักงาน
  4. สั่งซื้อโดย "EMPLOYEE_NO"

Answer: A, C. คำสั่ง ORDER BY ต้องอ้างอิงคอลัมน์ตามตำแหน่งหรือชื่อที่อ้างถึงโดยแบบสอบถามแรก

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?

  1. GROUP BY
  2. สั่งโดย
  3. MINUS
  4. 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 );
  1. จะแสดง ID แผนกทั้งหมดที่มีเงินเดือนเฉลี่ยและเงินเดือนสูงสุด
  2. มันจะส่งข้อผิดพลาด ORA เป็นหมายเลข ของคอลัมน์ที่เลือกในแบบสอบถามทั้งสองต่างกัน
  3. จะแสดง ID แผนกทั้งหมดที่มีเงินเดือนเฉลี่ย
  4. จะแสดง ID แผนกทั้งหมดที่มีเงินเดือนสูงสุด

Answer: B. หมายเลข ของคอลัมน์ควรเหมือนกัน

87.What among the following is true about the UNION operator?

  1. UNION ดำเนินการเฉพาะคอลัมน์แรกในรายการ SELECT
  2. UNION ดำเนินการในคอลัมน์แรกของรายการ SELECT ในแบบสอบถามคอมโพเนนต์
  3. UNION ดำเนินการกับคอลัมน์ทั้งหมดที่ถูกเลือก
  4. ไม่มีข้อใดข้างต้น

Answer: C. UNION ดำเนินการกับคอลัมน์ทั้งหมดในรายการ SELECT และไม่ละเว้นคอลัมน์ใด ๆ

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)
  1. SELECT department_id 
    FROM employees E
    Where job_id = 'SA_RE'
    UNION
    SELECT department_id 
    FROM employees E
    Where job_id = 'ACCOUNTANT';
  2. SELECT department_id 
    FROM employees E
    Where job_id = 'SA_REP'
    UNION ALL 
    Select department_id 
    FROM employees E
    Where job_id = 'ACCOUNTANT';
  3. SELECT department_id 
    FROM employees E
    Where job_id = 'SA_REP'
    INTERSECT
    Select department_id 
    FROM employees E
    Where job_id = 'ACCOUNTANT';
  4. 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?

  1. ไม่สามารถใช้ ORDER BY ในแบบสอบถามแต่ละรายการที่สร้างแบบสอบถามแบบผสม
  2. คำสั่ง ORDER BY สามารถต่อท้ายคิวรีแบบผสมได้
  3. แถวที่ส่งคืนโดย UNION ALL จะอยู่ในลำดับที่เกิดขึ้นในคิวรีต้นทางทั้งสอง
  4. แถวที่ส่งคืนโดย UNION จะเรียงตามคอลัมน์ทั้งหมดจากขวาไปซ้าย

Answer: A, B, C.

90.The UNION operator was used to fulfill which of the following function before the ANSI SQL syntax in place?

  1. ขวาเข้าร่วม
  2. ซ้ายนอกเข้าร่วม
  3. EQUI-JOIN
  4. เข้าร่วมเต็มรูปแบบจากภายนอก

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)

  1. SELECT job_id
    FROM employees 
    UNION ALL
    SELECT job_id
    FROM job_history;;
  2. SELECT job_id
    FROM employees 
    MINUS
    Select job_id
    FROM job_history;;
  3. SELECT job_id
    FROM employees 
    UNION
    SELECT job_id
    FROM job_history;;
  4. ไม่มีข้อใดข้างต้น

Answer: B.

92.Consider the following query:

SELECT distinct  job_id
FROM employees 
NATURAL JOIN job_history ;

ข้อความค้นหาใดต่อไปนี้เหมือนกับคำค้นหาข้างต้น

  1. SELECT job_id
    FROM employees
    UNION 
    SELECT   job_id
    FROM job_history;;
  2. SELECT job_id
    FROM employees
    UNION ALL
    SELECT job_id
    FROM job_history;;
  3. SELECT job_id
    FROM employees
    MINUS
    Select job_id
    FROM job_history;;
  4. 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?

  1. 4
  2. 3
  3. 0
  4. 8

Answer: D. UNION ALL ส่งคืนแถวที่รวมกันจากสองแบบสอบถามโดยไม่ต้องเรียงลำดับหรือลบรายการที่ซ้ำกัน

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)

  1. 5
  2. 3
  3. 2
  4. 6

Answer: D. UNION ส่งคืนแถวที่รวมกันจากสองคิวรีเรียงลำดับและลบรายการที่ซ้ำกัน

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)

  1. 3
  2. 2
  3. 1
  4. 0

Answer: C. MINUS ส่งคืนเฉพาะแถวในชุดผลลัพธ์แรกที่ไม่ปรากฏในชุดผลลัพธ์ที่สองเรียงลำดับและลบรายการที่ซ้ำกัน

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)

  1. 8
  2. 6
  3. 3
  4. 2

Answer: C. INTERSECT ส่งคืนเฉพาะแถวที่เกิดขึ้นในชุดผลลัพธ์ของคิวรีทั้งสองเรียงลำดับและลบรายการที่ซ้ำกัน

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 ;

ข้อความค้นหาข้างต้นทำให้เกิดข้อผิดพลาด บรรทัดใดในข้อความค้นหาด้านบนทำให้เกิดข้อผิดพลาด

  1. 3
  2. 7
  3. 2
  4. ไม่พบข้อผิดพลาด

Answer: A. ORDER BY ควรปรากฏที่ส่วนท้ายของแบบสอบถามแบบผสมเท่านั้นไม่ใช่ในแบบสอบถามคอมโพเนนต์

98.Which of the following SET operator features are supported in SQL/Foundation:2003 but not by Oracle?

  1. ยูเนี่ยนทั้งหมด
  2. ลบทั้งหมด
  3. เชื่อมต่อทั้งหมด
  4. ยกเว้นทั้งหมด

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)
  1. SELECT job_id from employee
    WHERE department_id  = 100
    INTERSECT 
    SELECT job_id from employee
    WHERE department_id  = 200;
  2. SELECT job_id from employee
    WHERE department_id  = 100
    UNION ALL
    SELECT job_id from employee
    WHERE department_id  = 200;
  3. SELECT job_id from employee
    WHERE department_id  = 100
    MINUS
    Select job_id from employee
    WHERE department_id  = 200;
  4. 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.)

  1. INTERSECT เนื่องจาก INTERSECT มีความสำคัญสูงกว่า MINUS
  2. MINUS เนื่องจาก MINUS มีความสำคัญสูงกว่า INTERSECT
  3. ลำดับความสำคัญถูกกำหนดโดยลำดับที่ระบุไว้
  4. เป็นไปไม่ได้ที่แบบสอบถามแบบผสมจะรวมทั้ง MINUS และ INTERSECT

Answer: C. ตัวดำเนินการชุดทั้งหมดมีลำดับความสำคัญเท่ากันดังนั้นลำดับความสำคัญจึงถูกกำหนดโดยลำดับที่เกิดขึ้น