在上一篇文章中我们学习了SQL入门必备理论知识(有需要的小伙伴可点击下方链接回顾哦~)。本文我们通过SQLZOO案例来进行一些基本的查询操作,一起来学习吧~~
一只小猴:SQL必知必会zhuanlan.zhihu.com(SQLZOO在线练习链接:SELECT basics/zh和SQLZOO:SELECT from WORLD Tutorial/zh)
看到这些题目会不会眼花缭乱呢?别放弃哦~坚持看完这篇文章,一定会让你收获满满!
SELECT basis题目详解:
题目一:显示德国(Germany)的人口。
SELECT population
FROM world
WHERE name = 'Germany';
题目二:查询面积为5,000,000以上平方公里的国家,对每个国家显示其名称和人均国内生产总值。
SELECT name, gdp/population
FROM world
WHERE area > 5000000;
题目三:显示爱尔兰(Ireland)、冰岛(Iceland)和丹麦(Denmark)的国家名称和人口。
WHERE name, population
FROM world
WHERE name IN ('Ireland', 'Iceland', 'Denmark');
题目四:显示面积为200,000及250,000之间的国家名称和该国面积。
SELECT name, area
FROM world
WHERE area BETWEEN 200000 AND 250000;
SELECT from world题目详解:
题目一:观察运行一个简单的SQL命令的结果。
SELECT name, continent, population
FROM world;
题目二:显示具有至少2亿人口的国家名称。
SELECT name
FROM world
WHERE popultion >= 200000000;
题目三:找出有至少200百万(2亿)人口的国家名称及人均国内生产总值。
SELECT name, gdp/population
FROM world
WHERE population >= 200000000;
题目四:显示南美洲(South America)大陆的国家名称和以百万为单位人口数。
SELECT name, population/1000000
FROM world
WHERE continent = 'South America';
题目五:显示法国(France)、德国(Germany)和意大利(Italy)的国家名称和人口。
SELECT name, population
FROM world
WHERE name IN ('France', 'Germany', 'Italy');
题目六:显示包含单词“United”为名称的国家。
SELECT name
FROM world
WHERE name LIKE '%United%';
题目七:展示大国的名称、人口和面积。(成为大国的两种方式:有3百万平方公里以上的面积,或拥有250百万(2.5亿)以上人口。)
SELECT name, population, area
FROM world
WHERE area > 3000000 OR population > 250000000;
题目八:显示以人口或面积为大国的国家,但不能同时满足两者。显示它们的国家名称、人口和面积。
SELECT name, population, area
FROM world
WHERE (area > 3000000 AND population <= 250000000) OR (area <= 3000000 AND population > 250000000);
题目九:显示南美洲国家的名字,以百万计人口,以十亿计GDP(保留两位小数)。
SELECT name, ROUND(population/1000000, 2), ROUND(gdp/1000000000, 2)
FROM world
WHERE continent = 'South America';
题目十:显示万亿元国家的人均国内生产总值(四舍五入到千位数)。
SELECT name, ROUND(gdp/population, -3)
FROM world
WHERE gdp > 1000000000000;
题目十一:显示以N开头的国家及其所在洲。若洲显示为大洋洲(Oceania),则将其替换为澳大拉西亚(Australasia)。
SELECT name,
CASE WHEN continent = 'Oceania' THEN 'Australasia'
ELSE continent
END
FROM world
WHERE name LIKE 'N%';
题目十二:显示以A或B开头的国家及其所在洲。若洲显示为欧洲(Europe)或亚洲(Asia),则将其替换为欧亚大陆(Eurasia);若洲显示为北美洲(North America)、南美洲(South America)或加勒比海(Caribbean),则将其替换为美洲(America)。
SELECT name,
CASE WHEN continent IN ('Europe', 'Asia') THEN 'Eurasia'
WHEN continent IN ('North America', 'South America', 'Caribbean') THEN 'America'
ELSE continent
END
FROM world
WHERE name LIKE 'A%' OR name LIKE 'B%';
以上习题你都做对了吗?再来巩固一下理论知识吧!
一、基本查询语句
select语句,是SQL中用的最多的语句,最基本的查询语句包含了select子句和from子句两个子句,其中select子句指希望从表中查出的列的名称,from子句指通过表名指定我们要从哪个表中查找数据,该语句的基本结构如下所示:
SELECT <列名1>, <列名2>, ...... -- select子句
FROM <表名>; -- from子句
查询结果中列的显示顺序与select子句中列的排列顺序相同。
二、指定查询条件
在上述基本查询语句基础上,可通过where子句来指定查找条件。
值得注意的是,SQL语句中书写顺序与运行顺序是不同的,select子句最后运行,其他子句按书写顺序运行,即依次运行from子句、where子句、select子句。
三、运算符
在习题中我们发现查找语句中或多或少会涉及运算符的使用。运算符通常包括三种:算术运算符、比较运算符和逻辑运算符。
1. 算术运算符
2. 比较运算符
3. 逻辑运算符
四、字符串模糊查找
在使用搜索引擎时,在搜索框输入想要查找内容的关键词,再点一下搜索按钮就会把相关内容都找出来,这就是模糊查找。
SQL中使用关键字like表示字符串模糊查询,%表示任意字符串,有三种查询方式举例如下所示:
- 查询以'U'开头的国家
SELECT name
FROM world
WHERE name LIKE 'U%';
2. 查询以'U'结尾的国家
SELECT name
FROM world
WHERE name LIKE '%U';
3. 查询国家名中包含'U'的国家
SELECT name
FROM world
WHERE name LIKE '%U%';
此外,一个下划线(_)表示任意一个字符,举例如下所示:
-- 查询以'U'开头的国家,且国家名是两个字母
SELECT name
FROM world
WHERE name LIKE 'U_';
以上就是今天的全部内容了,不妨再做一遍习题巩固一下吧~~