Teradata - แบบสอบถามย่อย
แบบสอบถามย่อยส่งคืนระเบียนจากตารางหนึ่งโดยยึดตามค่าจากตารางอื่น เป็นแบบสอบถาม SELECT ภายในแบบสอบถามอื่น แบบสอบถาม SELECT ที่เรียกว่าเป็นแบบสอบถามภายในจะถูกเรียกใช้ก่อนและผลลัพธ์จะถูกใช้โดยแบบสอบถามภายนอก คุณสมบัติเด่นบางประการ ได้แก่ -
- แบบสอบถามสามารถมีแบบสอบถามย่อยหลายรายการและแบบสอบถามย่อยอาจมีแบบสอบถามย่อยอื่น 
- แบบสอบถามย่อยจะไม่ส่งคืนระเบียนที่ซ้ำกัน 
- หากเคียวรีย่อยส่งกลับเพียงค่าเดียวคุณสามารถใช้ตัวดำเนินการ = เพื่อใช้กับแบบสอบถามภายนอกได้ หากส่งคืนค่าหลายค่าคุณสามารถใช้ IN หรือ NOT IN 
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ทั่วไปของแบบสอบถามย่อย
SELECT col1, col2, col3,… 
FROM  
Outer Table 
WHERE col1 OPERATOR ( Inner SELECT Query);ตัวอย่าง
พิจารณาตารางเงินเดือนต่อไปนี้
| พนักงาน | ขั้นต้น | การหักเงิน | NetPay | 
|---|---|---|---|
| 101 | 40,000 | 4,000 | 36,000 | 
| 102 | 80,000 | 6,000 | 74,000 | 
| 103 | 90,000 | 7,000 | 83,000 | 
| 104 | 75,000 | 5,000 | 70,000 | 
แบบสอบถามต่อไปนี้ระบุหมายเลขพนักงานที่มีเงินเดือนสูงสุด SELECT ภายในทำหน้าที่รวมเพื่อส่งคืนค่า NetPay สูงสุดและแบบสอบถาม SELECT ภายนอกใช้ค่านี้เพื่อส่งคืนระเบียนพนักงานด้วยค่านี้
SELECT EmployeeNo, NetPay 
FROM Salary 
WHERE NetPay =  
(SELECT MAX(NetPay)  
FROM Salary);เมื่อเรียกใช้แบบสอบถามนี้จะสร้างผลลัพธ์ต่อไปนี้
*** Query completed. One row found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo     NetPay 
-----------  ----------- 
    103         83000