คำตอบให้โดยโจ Stefanelli ถูกต้องอยู่แล้ว
SELECT name FROM (SELECT name FROM agentinformation) as a
เราจำเป็นต้องสร้างนามแฝงของแบบสอบถามย่อยเนื่องจากแบบสอบถามต้องการวัตถุตารางซึ่งเราจะได้รับจากการสร้างชื่อแทนสำหรับแบบสอบถามย่อย แนวคิดผลลัพธ์ของแบบสอบถามย่อยจะถูกแทนที่ลงในคิวรีด้านนอก เนื่องจากเราต้องการวัตถุตารางในแบบสอบถามด้านนอกเราจึงต้องสร้างนามแฝงของแบบสอบถามภายใน
งบที่มีแบบสอบถามย่อยมักจะใช้หนึ่งในรูปแบบเหล่านี้:
- ที่นิพจน์ [ไม่] ใน (แบบสอบถามย่อย)
- WHERE expression_operator เปรียบเทียบ [ANY | ทั้งหมด] (แบบสอบถามย่อย)
- WHERE [ไม่] EXISTS (แบบสอบถามย่อย)
ตรวจสอบกฎคิวรีย่อยและประเภทเคียวรีเพิ่มเติม
ตัวอย่างเพิ่มเติมของแบบสอบถามย่อยที่ซ้อนกัน
IN / NOT IN - ตัวดำเนินการนี้ใช้เอาต์พุตของเคียวรีภายในหลังจากเคียวรีภายในถูกเรียกใช้งานซึ่งอาจเป็นศูนย์หรือมากกว่าค่าและส่งไปยังเคียวรีด้านนอก คิวรีด้านนอกจะดึงแถว [ผู้ดำเนินการ IN] ที่ตรงกันทั้งหมดหรือไม่ตรงกับแถว [ไม่ใช่ผู้ดำเนินการ]
ANY - [> ANY หรือตัวดำเนินการใด ๆ ใช้รายการของค่าที่สร้างโดยการสืบค้นภายในและดึงค่าทั้งหมดที่มากกว่าค่าต่ำสุดของรายการ
เช่น> ANY (100,200,300) ตัวดำเนินการใด ๆ จะดึงค่าทั้งหมดที่มากกว่า 100
- ALL - [> ALL หรือ ALL โอเปอเรเตอร์รับรายการค่าที่สร้างโดยเคียวรีด้านในและดึงค่าทั้งหมดที่มากกว่าค่าสูงสุดของรายการ
เช่น> ALL (100,200,300) ตัวดำเนินการทั้งหมดจะดึงค่าทั้งหมดที่มากกว่า 300
- EXISTS - คำหลัก EXISTS สร้างค่าบูลีน [TRUE / FALSE] EXISTS นี้ตรวจสอบการมีอยู่ของแถวที่ส่งคืนโดยเคียวรีย่อย