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

JOIN ตารางที่เชื่อมกันด้วย foreign key

มา join สองตารางนี้เพื่อวิเคราะห์ข้อมูลให้ลึกขึ้นกัน!

คุณอาจรู้จัก SQL join อยู่แล้วจากคอร์ส Intro to SQL for Data Science (แบบฝึกหัดสุดท้าย) หรือจาก Joining Data in PostgreSQL

นี่คือสรุปโครงสร้างของ join โดยทั่วไป:

SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...

แม้ว่า foreign key และ primary key จะไม่ใช่สิ่งที่จำเป็นอย่างเคร่งครัดสำหรับคิวรีแบบ join แต่ก็ช่วยได้มาก เพราะบอกให้รู้ว่าควรคาดหวังอะไร ตัวอย่างเช่น คุณมั่นใจได้เลยว่า record ที่อ้างอิงจากตาราง A จะมีอยู่ในตาราง B เสมอ ดังนั้น join จากตาราง A จะพบข้อมูลในตาราง B เสมอ หากไม่เป็นเช่นนั้น constraint ของ foreign key ก็จะถูกละเมิด

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

SQL เบื้องต้น: ฐานข้อมูลเชิงสัมพันธ์

ดูคอร์ส

คำแนะนำการฝึกหัด

  • JOIN professors กับ universities โดยใช้เงื่อนไข professors.university_id = universities.id นั่นคือ เก็บเฉพาะ record ที่ foreign key ของ professors ตรงกับ primary key ของ universities
  • กรองข้อมูลโดยระบุ university_city = 'Zurich'

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

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

-- Select all professors working for universities in the city of Zurich
SELECT professors.lastname, universities.id, universities.university_city
___ professors
___ ___
ON ___.university_id = universities.___
___ universities.university_city = ___;
แก้ไขและรันโค้ด