ความสัมพันธ์แบบผู้ปกครองหลายคนใน Python
ในบทเรียนก่อนหน้า พ่อสามารถมีได้แค่ลูกชายหนึ่งคนเท่านั้น ซึ่งทำได้โดยที่พ่อมีความสัมพันธ์ son_id
ตอนนี้ให้พ่อสามารถมีลูกชายหลายคนได้ ในกรณีนี้เรายังสามารถสร้างตารางเดียวได้เหมือนเดิม ซึ่งจะเชื่อมโยงกับตัวเอง แต่ในฟิลด์เชื่อมโยงเราจะไม่เก็บ id ของลูก แต่จะเก็บ id ของพ่อแทน ซึ่งจะทำให้ผู้ใช้หลายคนสามารถอ้างอิงถึงพ่อของพวกเขาได้ และนี่จะทำให้พ่อมีลูกชายหลายคน:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
สามารถรับข้อมูลผู้ใช้พร้อมกับพ่อของเขาได้ด้วยวิธีต่อไปนี้:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
สมมติว่ามีผู้ใช้หลายคน ผู้ใช้แต่ละคนมีพ่อและแม่ ให้อธิบายโครงสร้างการจัดเก็บข้อมูล
เขียนคำสั่ง Query เพื่อดึงข้อมูลผู้ใช้พร้อมกับพ่อและแม่ของเขา