SELECT a.user_a_id user_a_id, a.user_b_id user_b_id, b.user_b_id user_c_id
FROM edges a
JOIN edges b ON a.user_b_id = b.user_a_id
JOIN edges c ON a.user_a_id = c.user_a_id AND b.user_b_id = c.user_b_id
WHERE (a.user_a_id = 3820 or a.user_b_id = 3820 or b.user_b_id = 3820 )
SELECT a.user_a_id user_a_id, a.user_b_id user_b_id, b.user_b_id user_c_id
FROM edges a
JOIN edges b ON a.user_b_id = b.user_a_id
JOIN edges c ON a.user_a_id = c.user_b_id
WHERE (a.user_a_id = 3820 or a.user_b_id = 3820 or b.user_b_id = 3820 )
ID가 3820인 사용자를 포함해 세 명의 사용자가 친구 관계인 경우를 모두 출력하는 쿼리를 작성해야 한다.
user_a_id, user_b_id, user_c_id 가 모두 친구 관계이어야 하는데, 위 코드는 3명 중 2명만 친구 관계여도 출력하는 쿼리문이다.
따라서 정답 쿼리에는 user_a_id, user_c_id 도 친구 관계임을 확인하는 쿼리를 추가했다.