SQLZOO练习(一)SELECT BASICS,SELECT form world
| name | continent | area | population | gdp |
| Afghanistan | Asia | 652230 | 25500100 | 20343000000 |
| Albania | Europe | 28748 | 2831741 | 12960000000 |
| Algeria | Africa | 2381741 | 37100000 | 188681000000 |
| Andorra | Europe | 468 | 78115 | 3712000000 |
| Angola | Africa | 1246700 | 20609294 | 100990000000 |
| …… |
name:国家名称 continent:大洲 area:面积 population:人口 gdp:国内生产总值
一、 SELECT basics
1、显示德国人口
The example uses a WHERE clause to show the population of 'France'. Note that strings (pieces of text that are data) should be in 'single quotes';
Modify it to show the population of Germany
SELECT population FROM world
WHERE name='Germany';
2、显示Sweden瑞典,Norway挪威,Denmark丹麦的国家名称和人口
Checking a list The word IN allows us to check if an item is in a list. The example shows the name and population for the countries 'Brazil', 'Russia', 'India' and 'China'.
SELECT name,population FROM world
WHERE name IN ('Sweden','Norway','Denmark');
3、显示面积为200,000及250,000之间的国家名称和该国面积
Which countries are not too small and not too big? BETWEEN allows range checking (range specified is inclusive of boundary values). The example below shows countries with an area of 250,000-300,000 sq. km. Modify it to show the country and the area for countries with an area between 200,000 and 250,000.
SELECT name,area FROM world
WHERE area BETWEEN 200000 AND 250000;
二、SELECT from world
1、显示所有国家的名称,所在大洲,人口
Observe the result of running this SQL command to show the name, continent and population of all countries.
SELECT name,continent,population
FROM world;
2、显示人口超过2亿的国家名称
Show the name for the countries that have a population of at least 200 million. 200 million is 200000000, there are eight zeros.
SELECT name FROM world
WHERE population >= 200000000;
3、显示人口超过2亿的国家名称和人均GDP
Show the name for the countries that have a population of at least 200 million. 200 million is 200000000, there are eight zeros.
SELECT name,GDP/population FROM world
WHERE population >=200000000;
下面的表达也是正确的。

4、显示continent ='South America'的国家的名称和人口。
将人口除以100万,以获得数百万人口,也就是population的单位为百万。
Show the name for the countries that have a population of at least 200 million. 200 million is 200000000, there are eight zeros.
SELECT name,population/1000000 FROM world
WHERE continent='South America';
5、显示法国、德国、意大利的国家名称和人口。
Show the name and population for France, Germany, Italy
SELECT name,population FROM world
WHERE name IN ('France','Germany','Italy');
6、显示名字中有‘United’的国家名称。
Show the countries which have a name that includes the word 'United'
SELECT name FROM world
WHERE name LIKE '%United%';
7、Two ways to be big
如果一个国家面积超过300万平方公里,或者人口超过2.5亿,那么这个国家就很大。按人口显示面积大或面积大的国家。 显示国家名称,人口和面积。
SELECT name,population,area FROM world
WHERE area >=3000000 OR population >=250000000;
8、One or the other (but not both)
XOR 国家面积超过300万平方公里,或者人口超过2.5亿的国家,但是不能同时满足。显示国家名称,人口,面积。
Exclusive OR (XOR). Show the countries that are big by area (more than 3 million) or big by population (more than 250 million) but not both. Show name, population and area.
- Australia has a big area but a small population, it should be included.
- Indonesia has a big population but a small area, it should be included.
- China has a big population and big area, it should be excluded.
- United Kingdom has a small population and a small area, it should be excluded.
SELECT name,population,area FROM world
WHERE area >=3000000 XOR population >=250000000;
9、ROUND函数
除以1000000(6个0)是以百万计,除以1000000000(9个0)是以十亿计。
显示南美洲的国家名称,人口,GDP(人口以百万为单位,GDP以十亿为单位);并且用ROUND函数保留两位小数。
Show the name and population in millions and the GDP in billions for the countries of the continent 'South America'. Use the ROUND function to show the values to two decimal places.
SELECT name,ROUND(population/1000000,2),ROUND(GDP/1000000000,2) FROM world
WHERE continent='South America';
10、显示GDP超过1万亿的国家名称和人均GDP,人均GDP用ROUND函数四舍五入到$1000。
Show the name and per-capita GDP for those countries with a GDP of at least one trillion (1000000000000; that is 12 zeros). Round this value to the nearest 1000.
Show per-capita GDP for the trillion dollar countries to the nearest $1000.
SELECT name,ROUND(GDP/population,-3) FROM world
WHERE GDP >=1000000000000;
11、Name and capital have the same length
显示字符长度是一样的国家名称和首都名称,你可以使用LENGTH函数来判定字符串长度。
Greece has capital Athens.
Each of the strings 'Greece', and 'Athens' has 6 characters.
Show the name and capital where the name and the capital have the same number of characters.
You can use the LENGTH function to find the number of characters in a string
SELECT name,capital FROM world
WHERE LENGTH(name)=LENGTH(capital);
12、Matching name and capital
显示开头字母相同的国家名称、首都名称,但是国家名称和首都名称不能相同。
你可以使用LEFT函数来锁定首字母,可以用不等于号(<>)来进行不等于判定。
The capital of Sweden is Stockholm. Both words start with the letter 'S'.
- You can use the function LEFT to isolate the first character.
- You can use
<>as the NOT EQUALS operator.
SELECT name,capital FROM world
WHERE LEFT(name)=LEFT(capital) AND name<>capital;
13、All the vowels(有难度,☆☆☆☆)
显示包含所有元音字母(aeiou),而且不能有空格的国家名称。
赤道几内亚和多米尼加共和国名称中都包含了元音字母(aeiou),但是因为超过一个单词不能被计算在内。
Equatorial Guinea and Dominican Republic have all of the vowels (a e i o u) in the name. They don't count because they have more than one word in the name.
Find the country that has all the vowels and no spaces in its name.
- You can use the phrase
name NOT LIKE '%a%'to exclude characters from your results. - The query shown misses countries like Bahamas and Belarus because they contain at least one 'a'
SELECT name FROM world
WHERE name LIKE '%a%' AND name LIKE '%e%' AND name LIKE '%i%' AND name LIKE '%o%' AND name LIKE '%u%' AND name NOT LIKE '% %';
SQLZOO练习(一)SELECT BASICS,SELECT form world的更多相关文章
- SELECT within SELECT Tutorial -- SQLZOO
SELECT within SELECT Tutorial 注意:where语句中对表示条件的需要用单引号, 下面的译文使用的是有道翻译如有不正确,请直接投诉有道 01.List each count ...
- SQL笔记1:SELECT及SELECT高级应用
T-SQL笔记1:SELECT及SELECT高级应用 本章摘要 1:安装AdventureWorks 2:基本运算符和表达式 3:between 4:like 5:escape 6:TOP 7:G ...
- PHP MySQL Select 之Select
从数据库表中选取数据 SELECT 语句用于从数据库中选取数据. 语法 SELECT column_name(s) FROM table_name 注释:SQL 语句对大小写不敏感.SELECT 与 ...
- select * from (select P.*,ROWNUM RN FROM(select * from Mp_Relatedart where pubbaseid=785 order by ID ASC )P)M WHERE M.RN>2 and M.RN <= 7
select * from (select P.*,ROWNUM RN FROM(select * from Mp_Relatedart where pubbaseid=785 order by ID ...
- sql: sybase与oracle中insert into select和select into的用法
1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679 Sybase 一.首 ...
- 关于Select * 与Select 字段名 的问题!
[转]http://blog.csdn.net/tongyu2009/article/details/8252418 1.SELECT * 语句取出表中的所有字段,不论该字段的数据对调用的应用程序是否 ...
- select * 和 select 所有字段的区别
阅读本文大概需要 1 分钟. 之前发过的文章中,关于 select * 和 select 所有字段的知识,有描述不恰当,这次重新纠正下,加深下理解. MySQL 5.1.37 表记录数 41,547, ...
- Insert Into select 与 Select Into 哪个更快?
在平常数据库操作的时候,我们有时候会遇到表之间数据复制的情况,可能会用到INSERT INTO SELECT 或者 SELECT INTO : 那么二者语法上有什么区别?性能上又如何呢? 围绕着这两个 ...
- Linq中的Select与Select many
Select与Select Many 之前在项目中查询数据库中的数据,都是通过sql语句来查询的,但是随着时代的发展,微软在.Net Framework 4.5版中推出的一个主要的特性——LINQ. ...
随机推荐
- Atlassian应对CVE-2022-22963,CVE-2022-22965的常见问题
CVE-2022-22965 常见问题解答 基本信息 已发现 Spring Framework 中的关键远程代码执行漏洞 CVE-2022-22965.根据 Spring 的安全公告,此漏洞会影响在 ...
- 快速了解Spring,简明Spring使用流程
前言: 注意题目,这篇文章说的是操作,也就是重在应用,更多的是一个入门的或者说一篇概览,所以大佬们多多担待,不涉及底层分析和很多的源码,所以如果看官想看以上两者的可以划走了,有时间又不懒的话,可能以后 ...
- stm32F103RCT6使用FFT运算分析波形详解(非常新手)
最近学校电赛院队招新,出的招新题就是低频示波器的.之前一直没有弄懂FFT,借着这次机会实现了一下. FFT原理详解 FFT,就是快速傅里叶变换,这个操作能够将时域信号转化成频域信号,然后对信号进行分析 ...
- vue - vue基础/vue核心内容(2)
今天的内容书接上回,同样是vue的核心基础部分,今天偏向于理论性,特别是vue对于数据对象的监测那一块,刚开始琢磨了半天,这股劲一过,现在好理解多了 10.watch和computed对比 计算属性案 ...
- Redis 的数据过期了就会马上删除么?
码哥,当 key 达到过期时间,Redis 就会马上删除么? 先说结论,并不会立马删除,Redis 有两种删除过期数据的策略: 定期选取部分数据删除: 惰性删除: 该命令在 Redis 2.4 版本, ...
- 130_传析阅管理系统accdb64位版本
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 几年前笔者针对家居门店的进销存.人员管理.工资管理.任务系统.门店经营盈亏管理.销售分析.考勤请假等息息相关的业务基于Ac ...
- 109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 客户ABC分析,一般的套路是在计算列中把客户ABC分类,便于后续维度使用.今天用度量值的方式写一个ABC的分类. ...
- Centos7 安装 MPICH
查看官网版本 https://www.mpich.org/downloads/ 最新的stable release是mpich 4.0.2,复制下载链接. 安装依赖 mpich需要系列依赖,如果不确定 ...
- babel使用
Babel转码器 Babel定义 Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在老版本的浏览器执行 Babel安装 仅需要在项目文件下安装 npm ins ...
- vuex+Es6语法补充-Promise
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,采用 集中式存储管理 单页面的状态管理/多页面状态管理 使用步骤: // 1.导入 import Vuex from 'vuex' // ...