코드 8-4는 코드 8-3과 다르게 FROM 절에 country 테이블을, INNER JOIN 절에 countrylanguage를 명시했습니다. 그리고 SELECT 절에는 language 칼럼만 제외하고 모두 country 테이블의 칼럼을 명시했습니다.
country 테이블에는 국가 코드가 ‘KOR’인 건이 1개인데 왜 2건이 조회됐을까요? 바로 조인 때문입니다. 두 테이블의 국가 코드가 같은 건을 조회하는데 국가 코드가 ‘KOR’인 건이 countrylanguage 테이블에 2개가 있기 때문입니다. 따라서 code부터 population 칼럼까지는 같은 값이 나오지만(country 테이블 칼럼이므로), language 칼럼 값이 다르므로 2건이 조회됐습니다.
사실 이 쿼리는 SELECT 절에서 선택한 칼럼만 다를 뿐이지 코드 8-3과 같은 쿼리입니다. 이는 FROM 다음에 명시하는 테이블과 INNER JOIN 다음에 명시하는 테이블 순서가 다르더라도 내부 조인은 같은 건을 반환한다는 뜻입니다. 테이블의 순서만 다를 뿐 칼럼 값이 같은 건을 조회하는 목적은 같기 때문이죠.
TIP
countrylanguage 테이블을 조회했을 때 우리나라에서 사용하는 언어에 중국어도 포함되는데, 정확한 이유는 확인할 수 없으나 우리나라에서 한자를 사용해서 그렇게 입력된 것이 아닌가 싶습니다.