문제
두 스키마 CITY와 COUNTRY가 주어진다.
column CONTINENT 'Asia'에 속하는 모든 도시의 인구 총합을 출력하라.
단, CITY.COUNTRYCODE와 COUNTRY.CODE는 서로 매칭된다.
내 코드:
select sum(c.POPULATION)
from CITY c left join COUNTRY con on c.COUNTRYCODE=con.CODE
where CONTINENT='Asia';
Comment: 간단한 join으로 풀 수 있는 문제이다. left join의 기준을 CITY로 하느냐, COUNTRY로 하느냐를 고민할 수 있는데 '도시' 인구수의 총합을 구하는 문제이므로 기준은 CITY가 되어야 한다. 또한 select 뒤의 population에 CITY 혹은 CITY의 Alias(별칭, 여기서는 c)를 앞에 붙여주지 않으면 population column이 모호하다는 ERROR 1052가 발생하므로 주의한다.
'Database' 카테고리의 다른 글
[Oracle]The Blunder(풀이 성공) (0) | 2021.04.07 |
---|---|
[Oracle]Average Population of Each Continent(풀이 성공) (0) | 2021.04.01 |
[Oracle]Weather Observation Station 6(풀이 성공) (0) | 2021.03.29 |
[Oracle/HackerRank]Weather Observation Station 5(풀이 성공) (0) | 2021.03.26 |
[Oracle] BIN$....==$0 형식의 테이블 완전히 삭제하기 (2) | 2021.01.28 |