Quan hệ cha con với nhiều con trong Python

Trong bài học trước, người cha chỉ có thể có một con trai. Điều này đạt được nhờ việc người cha có liên kết son_id.

Bây giờ, giả sử người cha có thể có nhiều con trai. Trong trường hợp này, chúng ta vẫn có thể chỉ tạo một bảng duy nhất, bảng này sẽ liên kết với chính nó. Chỉ khác là trong trường liên kết, chúng ta sẽ lưu trữ không phải id của con trai, mà là id của người cha. Khi đó, nhiều người dùng có thể tham chiếu đến cha của họ - và do đó người cha sẽ có nhiều con trai:

users
id name father_id
1 user1 3
2 user2 3
3 user3 4
4 user4 null

Có thể lấy thông tin người dùng cùng với cha của họ theo cách sau:

sqlSELECT
  users.name as user_name,
  fathers.name as father_name
FROM
  users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Задание 1

Giả sử chúng ta có những người dùng. Mỗi người dùng có một người cha và một người mẹ. Hãy mô tả cấu trúc lưu trữ.

Задание 2

Viết truy vấn để lấy thông tin người dùng cùng với cha và mẹ của họ.