คิวรีที่ใช้ derived table (I)
บทเรียนนี้จะเน้นที่ derived table ซึ่งเป็นเทคนิคที่ช่วยแบ่งคิวรีที่ซับซ้อนออกเป็นขั้นตอนย่อยที่จัดการได้ง่ายขึ้น Derived table คือคิวรีที่นำมาใช้แทนตาราง และเหมาะอย่างยิ่งสำหรับการสร้างค่าที่คำนวณไว้ก่อน เพื่อนำไปใช้ต่อในคิวรีขนาดใหญ่
ในแบบฝึกหัดนี้ จะคำนวณค่าสูงสุดของระดับน้ำตาลในเลือดของแต่ละเรคคอร์ด โดยแยกตามช่วงอายุ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
SQL Server ระดับกลาง
คำแนะนำการฝึกหัด
- ดึงค่า
MaxGlucoseจาก derived table - JOIN derived table เข้ากับคิวรีหลักโดยใช้
Age
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT a.RecordId, a.Age, a.BloodGlucoseRandom,
-- Select maximum glucose value (use colname from derived table)
b.___
FROM Kidney a
-- Join to derived table
___ (SELECT Age, MAX(BloodGlucoseRandom) AS MaxGlucose FROM Kidney GROUP BY Age) b
-- Join on Age
___