sql join 질문 0 2 1,082

by 알린이 [MySQL] 조인 [2022.03.29 20:33:05]


조인 결과가 궁금해서 이렇게 질문올립니다.

현재 테이블은 아래와 같습니다.

X Y

10 10

10 10

 

컬럼이름은 X, Y입니다.

여기서 다음과 같은 쿼리문을 실행했을 때,

select * from functions a inner join functions b on a.x = b.y and a.y = b.x;

 

결과는 다음과 같습니다

X   Y   X   Y

10 10 10 10

10 10 10 10

10 10 10 10

10 10 10 10

 

왜 이렇게 나오는건가요?

행이 두개이면

X  Y  X  Y

10 10 10 10

10 10 10 10

 

이렇게 나와야 하는거 아닌가요??

도무지 이해가 되지 않습니다... 

by 마농 [2022.03.30 01:40:59]

a 의 각행에 조건을 만족하는 b의 행을 찾아보면
a 의 1행에 b 의 1,2 행이 연결이 되고
a 의 2행에 b 의 1,2 행이 연결이 되어
결과는 4개 행이 나오게 됩니다.


by 알린이 [2022.03.30 20:16:48]

명쾌한 답변 감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입