หากต้องการหาลูกค้าที่มีอายุน้อยกว่าค่าเฉลี่ยอายุของลูกค้าในเมืองเดียวกัน ควรใช้เทคนิคใด
กGROUP BY เมือง และใช้ WHERE เพื่อกรอง
ขHAVING AVG(อายุ) เพื่อเปรียบเทียบ
คWHERE อายุ < AVG(อายุ)
งCorrelated Subquery ที่คำนวณค่าเฉลี่ยต่อเมือง
เฉลยอธิบาย
Correlated subquery เป็นวิธีการที่เหมาะสมเพราะต้องเปรียบเทียบอายุของลูกค้าแต่ละคนกับค่าเฉลี่ยอายุในเมืองของตนเอง ตัวเลือก A ไม่สามารถใช้ฟังก์ชันรวมใน WHERE โดยตรง ตัวเลือก B ใช้ HAVING ซึ่งใช้สำหรับกลุ่ม ตัวเลือก D เชื่อม subquery กับเมืองของแถวภายนอก จึงคำนวณค่าเฉลี่ยที่ถูกกลุ่มสำหรับลูกค้าแต่ละราย