• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

SELF JOIN과 HAVING 갯수

22.02.28 02:37 작성 조회수 188

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
SELECT a.x, a.y FROM functions AS a INNER JOIN functions AS b ON a.x = b.y AND a.y = b.x WHERE a.x = b.x GROUP BY a.x, a.y HAVING COUNT(*) = 2
 
X = Y 일때 대칭인 경우만 추출한다고 할때
위와 같이 self join으로 풀면 왜 no response로 뜨고
HAVING COUNT(*) = 4 일때 정상적으로 답이 나오는데
왜 4개로 뜰까요?ㅠㅠ

답변 1

답변을 작성해보세요.

0

안녕하세요 gmlwls627님

COUNT(*) 값이 2인 데이터가 없기 때문에 결과를 보여주지 않는 것으로 확인됩니다.

x값과 y값이 같은 경우가 테이블 내에 한개만 있는 경우에는 JOIN하여 COUNT한 결과가 하나씩만 나오게 되며, 아래와 같이 테이블 내에 똑같은 값이 2번 반복되는 경우에는 JOIN 했을 때 총 4개의 조인 결과를 반환하게 됩니다.

궁금증이 해결 되셨길 바랍니다.