พลังสูงสุด
บางครั้งเราอาจต้องการ "บันทึก" ผลลัพธ์ของคิวรีไว้เพื่อนำข้อมูลมาใช้ต่อ ทำได้โดยสร้างตารางชั่วคราวที่จะคงอยู่ในฐานข้อมูลจนกว่า SQL Server จะถูกรีสตาร์ท ในแบบฝึกหัดสุดท้ายนี้ จะได้เลือกแทร็กที่ยาวที่สุดจากทุกอัลบั้ม แล้วเพิ่มข้อมูลนั้นลงในตารางชั่วคราวที่สร้างขึ้นเป็นส่วนหนึ่งของคิวรี
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
SQL Server เบื้องต้น
คำแนะนำการฝึกหัด
- แทรกข้อมูลด้วยคำสั่ง
SELECTลงในตารางชั่วคราวชื่อ#maxtracks - เชื่อม
albumกับartistโดยใช้artist_idและเชื่อมtrackกับalbumโดยใช้album_id - รันคำสั่ง
SELECTสุดท้ายเพื่อดึงข้อมูลทุกคอลัมน์จากตารางใหม่ที่สร้างไว้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT album.title AS album_title,
artist.name as artist,
MAX(track.milliseconds / (1000 * 60) % 60 ) AS max_track_length_mins
-- Name the temp table #maxtracks
INTO ___
FROM album
-- Join album to artist using artist_id
INNER JOIN artist ON album.artist_id = artist.artist_id
-- Join track to album using album_id
___
GROUP BY artist.artist_id, album.title, artist.name,album.album_id
-- Run the final SELECT query to retrieve the results from the temporary table
SELECT album_title, artist, max_track_length_mins
FROM #maxtracks
ORDER BY max_track_length_mins DESC, artist;