sql 笔记: hackerrank asian population

问题


给定 CITYCOUNTRY 表,查询所有亚洲城市(CONTINENT‘Asia’)的人口之和。

注意: CITY.CountryCodeCOUNTRY.Code 是匹配的字段。

输入格式
CITYCOUNTRY 表描述如下:

CITY

Field Type
ID NUMBER
NAME VARCHAR2(17)
COUNTRYCODE VARCHAR2(3)
DISTRICT VARCHAR2(20)
POPULATION NUMBER

COUNTRY

Field Type
CODE VARCHAR2(3)
NAME VARCHAR2(44)
CONTINENT VARCHAR2(13)
REGION VARCHAR2(25)
SURFACEAREA NUMBER
INDEPYEAR VARCHAR2(5)
POPULATION NUMBER
LIFEEXPECTANCY VARCHAR2(4)
GNP NUMBER
GNPOLD VARCHAR2(9)
LOCALNAME VARCHAR2(44)
GOVERNMENTFORM VARCHAR2(44)
HEADOFSTATE VARCHAR2(32)
CAPITAL VARCHAR2(4)
CODE2 VARCHAR2(2)

分析


用countrycode连接(join)两张表。

  • 用countrycode连接两张表 ==> FROM CITY AS i JOIN COUNTRY AS o ON i.COUNTRYCODE=o.CODE
  • 查询人口总和 ==> SELECT SUM(i.POPULATION)
  • 亚洲城市(Continent‘Asia’) ==> WHERE o.CONTINENT=‘Asia’

解法


1
SELECT SUM(i.POPULATION) FROM CITY AS i JOIN COUNTRY AS o ON i.COUNTRYCODE=o.CODE WHERE o.CONTINENT='Asia';

链接


Asian Population
(English version) SQL Notes: Hackerrank Asian Population