• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

african cites

22.02.23 02:26 작성 조회수 153

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
제가 처음에
SELECT NAME FROM CITY INNER JOIN Country ON CITY.CountryCode = COUNTRY.Code WHERE continent = 'Africa'
이라고 하고 작동시켰을때 select문이 ambiguous하다고 해서 city.name이라고 명시해야한다고 하셨는데
그런데 이미 from에 city라고 적었으니 country에도 name이 있어도 city 의 name이라고 인식을 하지 않나요??
 
그리고 where절에서 continent는 country.continent라고 안적어도 실행되는 이유가 혹시 continent 컬럼은 country에만 있으니까 굳이 country.continent라고 명시를 안해줘도 되는건가요?

답변 1

답변을 작성해보세요.

1

안녕하세요 gmlws627님

FROM절에 테이블명을 적어주는 것은 SQL에서 결과로 출력할 컬럼을 가져오는 것과는 관련이 없습니다. FROM, JOIN으로 연결된 데이터 중 이름이 동일한 컬럼이 2개 이상 있을 경우, 반드시 어느 테이블에서 가져온 컬럼을 출력하고자 하는 것인지 명시 해주셔야 합니다.

continent 컬럼은 중복되는 값이 없기 때문에 말씀해주신 것처럼 테이블명을 명시해주지 않아도 출력이 가능합니다.

궁금증이 해결되셨길 바랍니다.