ตรวจสอบคุณภาพข้อมูล
ข้อมูลไม่ได้สะอาดเสมอไป ทั้งฟิลด์ composer ในตาราง track และฟิลด์ name ในตาราง artist ต่างเก็บข้อมูลเกี่ยวกับผู้แต่งเพลง แบบฝึกหัดนี้จะให้ตรวจสอบคุณภาพข้อมูลในฟิลด์เหล่านั้นสำหรับแต่ละเพลง โดยใช้ CASE statement ร่วมกับคอลัมน์จากตารางที่ JOIN กันไว้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน Snowflake
คำแนะนำการฝึกหัด
- เมื่อฟิลด์
track.composerมีค่าเป็นNULLให้ติดป้ายกำกับว่า'Track Lacks Detail' - ถ้าฟิลด์
track.composerตรงกับartist.nameให้คืนค่า'Matching Artist' - สุดท้าย ให้
LEFT JOINตารางartistเข้ากับalbumโดยใช้ฟิลด์artist_id(ตารางtrackและalbumถูก JOIN ไว้ให้แล้ว)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
track.name,
track.composer,
artist.name,
CASE
-- A 'Track Lacks Detail' if the composer field is NULL
WHEN track.composer ___ ___ THEN 'Track Lacks Detail'
-- Use the composer and artist name to determine if a match exists
___ track.composer = ___.name ___ '___'
ELSE 'Inconsistent Data'
END AS data_quality
FROM store.track AS track
LEFT JOIN store.album AS album ON track.album_id = album.album_id
-- Join the album table to artist using the artist_id field
___ JOIN store.___ AS artist ON album.___ = ___.___;