예제를 봅시다.

    코드 8-15

    SELECT a.continent, COUNT(*) 전체건수, COUNT(b.name) 도시건수
      FROM country a
    NATURAL JOIN city b
     GROUP BY a.continent ;

    실행결과

    일단 결과를 보면 조회되는 로우가 없습니다. 코드 8-15에서는 NATURAL을 명시해 자연 조인을 했습니다. 그런데 왜 결과가 0건일까요? 자연 조인은 조인 조건을 붙이지 않는 대신에 두 테이블에 이름과 데이터 타입이 같은 칼럼이 반드시 있어야 합니다. 하지만 country와 city 테이블의 조인 칼럼은 각각 code와 countrycode로 칼럼명이 다르므로 자연 조인 결과로 0건이 나옵니다. 이것이 바로 자연 조인의 제약사항이자 첫 번째 특징입니다. 즉, 자연 조인을 하려면 조인 테이블에 이름과 데이터 타입이 같은 칼럼이 존재해야 합니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.