เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ไม่พบคอลัมน์

เมื่อใช้ WHERE เป็นเงื่อนไขกรอง สิ่งสำคัญคือต้องคำนึงถึงลำดับการประมวลผลในคิวรี ในแบบฝึกหัดนี้ เราต้องการคิวรีที่คืนค่าข้อมูลนักบาสเก็ตบอล NBA ที่มีค่าเฉลี่ยการรีบาวด์รวมต่อเกม 12 ครั้งขึ้นไป สูตรต่อไปนี้ใช้คำนวณค่าเฉลี่ยการรีบาวด์รวมจากตาราง PlayerStats

$$Average Total Rebounds = \dfrac{(Defensive Rebounds + Offensive Rebounds)}{Games Played}$$

คิวรีแรกใน ขั้นตอนที่ 1 จะเกิดข้อผิดพลาด กด รันโค้ด เพื่อดูข้อผิดพลาดนั้น ส่วนคิวรีที่สองใน ขั้นตอนที่ 2 จะให้ผลลัพธ์ที่ต้องการโดยไม่เกิดข้อผิดพลาด โดยใช้ sub-query

ทั้งนี้ GamesPlayed ถูก CAST AS numeric เพื่อให้ผลลัพธ์แสดงเป็นตัวเลขทศนิยม แทนที่จะเป็นจำนวนเต็ม

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- First query

SELECT PlayerName, 
    Team, 
    Position,
    (DRebound+ORebound)/CAST(GamesPlayed AS numeric) AS AvgRebounds
FROM PlayerStats
WHERE AvgRebounds >= 12;
แก้ไขและรันโค้ด