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
사용자들이 있다고 가정합니다. 각 사용자는 아버지와 어머니를 가집니다. 저장 구조를 설명하세요.
사용자와 그의 아버지, 어머니를 함께 가져오는 쿼리를 작성하세요.