8.1.2 조인의 특징
테이블을 연결해 이뤄지는 조인에는 몇 가지 특징이 있습니다.
1. 조인하는 테이블에는 같은 값을 가진 칼럼이 있어야 한다
조인에 참여하는 테이블은 같은 값을 가진 조인 칼럼이 있어야 합니다. 각 조인 칼럼의 이름이 같을 필요는 없으나 값은 같아야 합니다. city 테이블과 country 테이블의 조인 칼럼은 각각 CountryCode와 Code인데, 칼럼 이름은 다르지만 같은 값을 갖고 있죠.
하지만 조인 칼럼의 이름을 동일하게 만드는 경우가 많습니다. 그렇게 해야 테이블 간 조인 칼럼을 쉽게 찾을 수 있기 때문입니다. city와 country 테이블을 조인할 때 조인 칼럼이 무엇인지 미리 알고 있지 않아도 두 테이블 간 조인 칼럼의 이름이 같다면 조인 칼럼이 어떤 것인지 유추하기 쉽겠죠?
2. 2개 이상의 테이블을 조인할 수 있다
하나의 조인은 기본으로 2개 테이블을 대상으로 이뤄집니다. 하지만 원하는 정보가 3개나 4개 테이블에 흩어져 있어도 조인 칼럼이 있다면 하나의 SELECT 문장에서 여러 테이블을 조인해 원하는 정보를 조회할 수 있습니다. 가령 A, B, C, 3개 테이블을 조인할 때, A와 B를 조인하고 다시 B와 C를 조인할 수도 있고, A와 B를 조인하고 다시 A와 C를 조인할 수도 있습니다. 어떤 식으로 조인이 이뤄질지는 테이블을 어떻게 설계했느냐에 따라 다릅니다.
3. 조인할 때 테이블에 대한 별칭을 사용한다
조인한다는 것은 SELECT 문에서 여러 테이블을 사용한다는 것이죠. 따라서 조인할 때 보통 테이블에 대한 별칭을 사용합니다. 5.2.3 실습: 조건에 맞는 데이터 조회하기에서 칼럼명 대신 별칭을 사용하는 방법을 배웠습니다. 테이블 별칭도 칼럼 별칭 사용법과 비슷합니다. 자세한 내용은 8.2 내부 조인: 조인 칼럼 값이 같은 건 조회하기에서 다루겠습니다.
4. 조인 시 조인 조건이 필요하다
조인할 때는 조인 조건이 필요합니다. 예를 들어 A와 B 테이블을 조인한다면 이 두 테이블의 조인 칼럼이 있겠죠? A 테이블 조인 칼럼과 B 테이블 조인 칼럼의 값이 같은 건을 가져오는 것이 조인이고, 바로 이 내용을 기술하는 것이 조인 조건입니다. 결국 조인은 2개 이상의 테이블을 연결해 조회하는 것이고, 조인 테이블의 조인 칼럼으로 조인 조건을 만들어 조인할 수 있습니다.