데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요
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으로 잘 풀리고 있는지도 한번 확인해보세요