SQL-4: Joins
ข้อมูลจริงไม่เคยอยู่ในตารางเดียว — นักเรียนอยู่ตาราง students, การลงทะเบียนอยู่ตาราง enrollments, รายวิชาอยู่ตาราง courses — JOIN คือสิ่งที่เชื่อมทุกอย่างเข้าด้วยกัน
Learning Goals
Section titled “Learning Goals”- เข้าใจ INNER JOIN — ดึงเฉพาะแถวที่ match กันทั้งสองตาราง
- ใช้ LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN — และรู้ว่า NULL เกิดขึ้นเมื่อไหร่
- ระวัง type mismatch trap — VARCHAR vs INTEGER ที่ทำให้ JOIN ล้มเหลวแบบเงียบๆ
- เขียน JOIN query ที่เชื่อม 3 ตารางเข้าด้วยกันได้
Progress 0 / 4
ตารางที่ใช้ตลอดบท
Section titled “ตารางที่ใช้ตลอดบท”เราจะใช้ 3 ตาราง:
| ตาราง | คอลัมน์หลัก |
|---|---|
students | student_id, name, email |
enrollments | enrollment_id, student_id, course_id, enrolled_on |
courses | course_id, course_name, credits |
บทเรียนในหมวดนี้
Section titled “บทเรียนในหมวดนี้” SQL-4.1 INNER JOIN ดึงเฉพาะแถวที่ match — พื้นฐานที่สำคัญที่สุดของ JOIN
SQL-4.2 LEFT / RIGHT JOIN เก็บแถวทั้งหมดจากฝั่งซ้ายหรือขวา แม้ไม่มี match
SQL-4.3 Join Type Mismatch กับดักที่อันตรายที่สุด — เมื่อ type ไม่ตรงกันแต่ SQL ไม่ error
Lab: Multi-Table Join เชื่อม students + enrollments + courses แบบครบวงจร