ในภาษา SQL เมื่อเขียนคำสั่ง SELECT * FROM (SELECT * FROM employees) AS temp_table ผลลัพธ์ที่ได้คืออะไร
กแสดงข้อมูลทุกแถวและทุกคอลัมน์จากตาราง employees เหมือนกับการ SELECT * FROM employees โดยตรง
ขเกิดข้อผิดพลาดเนื่องจาก SQL ไม่อนุญาตให้ใช้ Subquery ใน FROM clause โดยไม่มีเงื่อนไข WHERE
คแสดงเฉพาะแถวแรกของตาราง employees เนื่องจาก Derived Table จะจำกัดผลลัพธ์โดยอัตโนมัติ
งแสดงข้อมูลเฉพาะคอลัมน์ที่เป็น Primary Key ของตาราง employees เนื่องจากการซ้อน SELECT จะกรองคอลัมน์อื่นออก
เฉลยอธิบาย
คำสั่งนี้ใช้ Derived Table (ตารางชั่วคราวที่สร้างจาก Subquery ใน FROM clause) โดย Subquery ชั้นในคือ SELECT * FROM employees จะดึงข้อมูลทุกแถวทุกคอลัมน์จากตาราง employees จากนั้น SELECT ชั้นนอกจะดึงข้อมูลทั้งหมดจาก Derived Table ที่ชื่อ temp_table ซึ่งมีข้อมูลเดียวกัน ผลลัพธ์สุดท้ายจึงเหมือนกับการรัน SELECT * FROM employees โดยตรงทุกประการ alias temp_table ทำให้ชั้นนอกอ้าง derived table ได้ ทั้งนี้ข้อกำหนด alias และคำว่า AS แตกต่างเล็กน้อยตาม DBMS