문제를 풀다보니 join에 대해 정확히 이해할 필요가 있다고 생각해 정리해본다.
한 개 이상의 테이블과 테이블을 서로 연결하여 사용하는 기법을 말한다.
- 조인을 사용할 때 테이블에 별칭을 필수적으로 사용해야 한다.
- 테이블 순서는 가장 중심이 되는 테이블을 앞에 기술한다
(=inner outer join)
양쪽 테이블에서 조인 조건이 일치하는 행(데이터만) 가져오는 방식.
등호(=) 연결 연산자를 사용해 조건 값이 정확하게 일치할 때만 행을 가져온다.
select a.열 이름, b.열 이름 ...
from 테이블명 a, 테이블명 b
where a.열 이름 = b.열 이름;
조건을 만족하지 않는 행도 모두 출력하기 위한 조인 방법.
(+) 기호 사용
(+) 기호는 조인할 행이 없는, 데이터 값이 부족한 테이블의 열 이름 뒤에 작성한다.
(+) 기호를 붙이면 데이터 값이 부족한 테이블에 null값을 갖는 행이 생성되어 데이터 값이 충분한 테이블의 행들이 null행에 조인된다.
select a.열 이름, b.열 이름 ...
from 테이블명 a, 테이블명 b
where a.열 이름 = b.열 이름(+);
from -> on -> join -> where