เมื่อใช้ SUM(amount) กับชุดแถวที่มีทั้งตัวเลขและ NULL จะเกิดอะไรขึ้น

ผลเป็น NULL ทันทีเมื่อพบ NULL
SUM ละเว้น NULL และรวมค่าที่ไม่เป็น NULL แต่ถ้าไม่มีค่าที่ไม่เป็น NULL เลย ผลเป็น NULL
NULL ถูกแปลงเป็นแถวที่มีค่า 0
เกิดข้อผิดพลาดเสมอ

เฉลยอธิบาย

Aggregate SUM ไม่รวมค่า NULL ในการคำนวณ แต่กรณีไม่มีแถวหรือทุกค่าเป็น NULL จะคืน NULL ไม่ใช่ 0 หากต้องการ 0 ต้องใช้ COALESCE(SUM(amount), 0)

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

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