안녕하세요 길벗수험서 운영팀입니다.
outer join의 의미를 파악하세요.
outer 조인은 양 테이블에서 서로 맞지 않더라도 추가하는 조인 유형입니다.
(이름) / (학과코드)
A / 101
B / 202
C / 444
(학과코드) / (학과명)
101 / 국문과
202 / 영문과
위 두 테이블을 left outer join을 사용하여 (이름), (학과코드), (학과명)을 출력한다면 학과코드에 속하지 않는 C는 (학과명)이 NULL인 상태로 출력될 것입니다.
(*이너조인이라면 C는 출력되지 않았겠죠)
right outer join은 left outer join의 단순히 반대방향을 의미합니다. 만약 위 테이블에서 (이름),(학과코드)가 있는 테이블을 오른쪽에 두고 outer join을 하게 되면 위에서 왼쪽에 두고 left outer join을 한 것과 동일한 결과가 출력됩니다.
full outer join은 위의 경우를 좀 더 변형해야 합니다.
(이름) / (학과코드)
A / 101
B / 202
C / 444
(학과코드) / (학과명)
101 / 국문과
202 / 영문과
A / 101 / 국문화
B / 202 / 영문과
C / 444 ./ NULL
-
관리자2019-03-05 11:32:33
안녕하세요 길벗수험서 운영팀입니다.
outer join의 의미를 파악하세요.
outer 조인은 양 테이블에서 서로 맞지 않더라도 추가하는 조인 유형입니다.
(이름) / (학과코드)
A / 101
B / 202
C / 444
(학과코드) / (학과명)
101 / 국문과
202 / 영문과
위 두 테이블을 left outer join을 사용하여 (이름), (학과코드), (학과명)을 출력한다면 학과코드에 속하지 않는 C는 (학과명)이 NULL인 상태로 출력될 것입니다.
(*이너조인이라면 C는 출력되지 않았겠죠)
right outer join은 left outer join의 단순히 반대방향을 의미합니다. 만약 위 테이블에서 (이름),(학과코드)가 있는 테이블을 오른쪽에 두고 outer join을 하게 되면 위에서 왼쪽에 두고 left outer join을 한 것과 동일한 결과가 출력됩니다.
full outer join은 위의 경우를 좀 더 변형해야 합니다.
(이름) / (학과코드)
A / 101
B / 202
C / 444
(학과코드) / (학과명)
101 / 국문과
202 / 영문과
333 / 법학과자 이 경우입니다. 여기서 left outer join을 하면 C가 출력, right outer join을 하면 333 법학과가 출력되겠죠.full outer join은 어떨까요.전부 출력됩니다.(이름) / (학과코드) / (학과명)A / 101 / 국문화
B / 202 / 영문과
C / 444 ./ NULL
NULL / 333 / 법학과요렇게요.행복한 하루되세요 :)