-
[데이터베이스 기본]이너 조인(INNER JOIN) 아우터 조인(OUTER JOIN)데이터베이스/오라클 2020. 3. 6. 00:11반응형
목표
- 이너 조인과 아우터 조인의 구분
- 이너 조인과 아우터 조인의 사용 목적 이해
오늘 날짜로 IT학원을 수료하고 면접을 다녀왔다. 면접에서 출제한 문제는 너무도 기본적인 문제였지만 나는 그 문제에 틀린 답을 제출하였다. 속상하다....
그래서 오늘은 내가 실수했던 이너조인(INNER JOIN)과 아우터 조인(OUTER JOIN)에 대해서 다뤄보려고 한다. 우선 이너조인과 아우터 조인을 알아보기 위해 간단한 예를 들어 이야기해보자.
A와 B테이블이 있다고 가정한다.
A테이블은 a라는 컬럼을 가지고 있으며 4개의 열에 1,2,3,4의 데이터가 있다.
B테이블은 b라는 컬럼을 가지고 있으며 4개의 열에 3,4,5,6의 데이터가 있다.
이너 조인(INNER JOIN)
이너조인은 INNER를 꼭 명시하지 않아도 동작이 되지만 동료 개발자가 편하게 구분할 수 있도록 INNER를 붙여주는 것을 권장한다. A테이블에 B테이블을 조인하여 출력한 결과는 A와 B 모두 가지고 있는 값인 3,4 가 출력된다.
래프트 아우터 조인(LEFT OUTER JOIN)
래프트 아우터 조인은 A테이블의 데이터를 모두 출력하고 B테이블에서 A와 맵핑되지 못한 열의 값은 null 로 출력된다.
라이트 아우터 조인(RIGHT OUTER JOIN)
라이트아우터 조인은 B테이블의 데이터를 모두 출력하고 A테이블에서 B와 맵핑되지 못한 열의 값은 null로 출력된다.
정리
간단하게 이야기하면 A테이블의 값을 출력할 때 A를 참조하고 있는 B테이블의 데이터를 같이 출력하길 원한다면 이너 조인을 사용하면 된다 (교집합)
아우터조인은 래프트 또는 라이트로 참조할 테이블을 지정하여 지정한 테이블의 모든 값을 출력하고 매핑 가능한 테이블의 값을 함께 출력한다.
'데이터베이스 > 오라클' 카테고리의 다른 글
데이터베이스 계층형쿼리(LEVEL) (0) 2020.03.02 롤업 (0) 2020.02.27 데이터베이스 피벗 사용해보기 (0) 2020.02.26 그룹별로 데이터 출력하기(groupby, PARTITION BY) (0) 2020.02.25 데이터베이스 실행 순서 (0) 2020.02.24