ข้อใดคือสาเหตุที่คำสั่งนี้ให้ผลลัพธ์ผิด: เซเลคท์ ชื่อ, เอวีจี(ราคา) จากสินค้า

ไม่มี ออร์เดอร์ บาย เพื่อเรียงลำดับ
ไม่มี กรุ๊ป บาย แต่ใช้ฟังก์ชันการรวมทำให้ผลลัพธ์ไม่ชัดเจน
ไม่มี ดิสทิงค์ เพื่อลบค่าซ้ำ
ไม่มี ไวเออร์ เพื่อกรองข้อมูลก่อน

เฉลยอธิบาย

เมื่อ SELECT name ร่วมกับ AVG(price) คอลัมน์ name ซึ่งไม่ใช่ aggregate ต้องอยู่ใน GROUP BY ตามรูปแบบมาตรฐาน มิฉะนั้น query ไม่กำหนดหนึ่งค่าของ name ต่อผลรวม

ข้อสอบอื่นในวิชาการใช้ภาษา SQL

ดูข้อสอบวิชานี้ทั้งหมด →