SQL(Structured Query Language,结构化查询语言)作为访问和操作关系数据库的标准语言,不但应用广泛,而且简单易学,因为它在设计之初就考虑了非技术人员的使用需求。
SQL 语句全都是由简单的英语单词组成;我们只需要说明自己想要的结果,然后将具体的实现交给数据库管理系统。
学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何,SQL 都是 IT 从业人员不可或缺的技能!
我们以世界银行公布的全球 GDP 和人口数据为例,使用 SQL 数据分析的常用方法,自己动手来分析一下。GDP(国内生产总值)是指按市场价格计算的一个国家/地区所有常住单位在一定时期内生产活动的所有最终产品和服务的市场价格。GDP 通常被公认为是衡量国家/地区经济状况的最佳指标。本文数据来源为世界银行公开数据中的 GDP(现价美元)和人口总数。为了方便使用,我们将数据转换成了 SQL 脚本,摘取了全球 217 个国家和地区 2010-2018 年的 GDP 数据(按照现价美元进行换算)以及相应的人口数据。案例的初始化脚本 gdp_data.sql 放在了 GitHub 上,可以在专栏文章中进行下载。
01
初步探索数据
所有的 GDP 和人口数据都存储在 gdp_data 表中,我们先熟悉一下该表中的数据:
SELECT *
FROM gdp_data;
该查询的结果如下(显示部分内容):
该表包含了 4 个字段:国家/地区名称、年度、人口以及 GDP。接下来统计一下表中包含的行数:
SELECT COUNT(*)
FROM gdp_data;
COUNT(*)|
--------|
1953|
该表中共计有 1953 条数据。再按照国家/地区进行统计:
SELECT country_name AS "国家/地区", COUNT(*) AS "数据量"
FROM gdp_data
GROUP BY country_name;
查询的结果如下(显示部分内容):
共计有 217 个国家/地区,每个国家/地区有 9 条数据。试试按照年度进行统计:
SELECT year AS "年度", COUNT(*) AS "数据量"
FROM gdp_data
GROUP BY year;
年度统计的结果如下: