안녕하세요
SELECT *
FROM abcde AS r
LEFT JOIN fghij AS d
ON d.id = r.user_id
SELECT *
FROM abcde AS r
LEFT JOIN fghij AS d
ON r.user_id = d.id
예를 들어서 2개의 테이블을 지정하였습니다.
질문 1) LEFT JOIN 을 할경우 ON statement의 변수 위치를 바꾸고 진행해본결과 결과값이 다르던에 원래 그런건가요?
질문 2) 위의 예시의 경우 LEFT JOIN이므로 결과값의 수가 최소한 abcde 테이블과 같은수거나 많이 나와야 되지 않나요?
만약 abcde 보다 결과값이 적은경우 잘못된 거죠?
답변 해주시면 감사합니다!
Comment 1
-
이리
2021.01.28 08:49
1. 아뇨 동일하게 나와야 합니다.
2. 네 잘못된것입니다.
샘플 data와 쿼리를 올려주시면 더 정확하게 확인이 가능할 것 같습니다.
아니라면 실행계획에서 의도한대로 LEFT OUTER JOIN으로 잘 풀리고 있는지도 한번 확인해보세요