더북(TheBook)

오류의 원인은 SELECT 절의 두 번째 줄에 있는 name 칼럼 때문입니다. 오류 메시지를 보면 “Column ‘name’ in field list is ambiguous”라고 나오죠. name 칼럼이 애매하다는 뜻입니다. 3개 테이블을 조인하는데, name 칼럼은 country와 city 테이블에 모두 있습니다. 그런데 그냥 name이라고만 명시해서 두 테이블 중 어느 테이블에 있는 name 칼럼의 값을 가져와야 하는지 애매해 오류가 발생한 것이죠.

따라서 조인 쿼리에서 칼럼을 참조할 때는 반드시 테이블명.칼럼명 또는 테이블별칭.칼럼명 형태로 사용해야 합니다. 칼럼이 조인 테이블 중 한 테이블에만 있다면(countrylanguage의 language 칼럼) 칼럼명만 명시해도 오류가 발생하지 않지만, 같은 칼럼명이 있는 경우를 고려해서 테이블명(별칭)을 항상 붙이는 것이 좋습니다.

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