SQLZOO 练习答案 SELECT_basic_names
2016-12-15 21:37
651 查看
www.sqlzoo.net
这网站不错,值得收藏
name:國家名稱
continent:洲份
area:面積
population:人口
gdp:國內生產總值
1:修改此例子,以顯示德國 Germany 的人口。
SELECT population FROM world WHERE name = 'Germany';
2:查詢面積為 5,000,000 以上平方公里的國家,對每個國家顯示她的名字和人均國內生產總值(
SELECT name, gdp/population FROM world WHERE area > 5000000;
3:顯示“Ireland 愛爾蘭”,“Iceland 冰島”,“Denmark 丹麥”的國家名稱和人口。
SELECT name, population FROM world WHERE name IN ('Ireland', 'Iceland', 'Denmark');
4:顯示面積為 200,000 及 250,000 之間的國家名稱和該國面積。
SELECT name, area FROM world WHERE area BETWEEN 200000 AND 250000;
name:國家名稱
continent:洲份
1:找出以 Y 為開首的國家。
SELECT name FROM world WHERE name LIKE 'Y%';
2:找出以 Y 為結尾的國家。
SELECT name FROM world WHERE name LIKE '%Y';
3:找出所有國家,其名字包括字母x。
SELECT name FROM world WHERE name LIKE '%x%';
4:找出所有國家,其名字以 land 作結尾。
SELECT name FROM world WHERE name LIKE '%land';
5:找出所有國家,其名字以 C 作開始,ia 作結尾。
SELECT name FROM world WHERE name LIKE 'C%ia';
6:找出所有國家,其名字包括字母oo。
SELECT name FROM world WHERE name LIKE '%oo%';
7:找出所有國家,其名字包括三個或以上的a。
SELECT name FROM world WHERE name LIKE '%a%a%a%';
8:找出所有國家,其名字以t作第二個字母。
SELECT name FROM world WHERE name LIKE '_t%' ORDER BY name;
9:找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。
SELECT name FROM world WHERE name LIKE '%o__o%';
10:找出所有國家,其名字都是 4 個字母的。
SELECT name FROM world WHERE name LIKE '____';
11:顯示所有國家名字,其首都和國家名字是相同的。
SELECT name FROM world WHERE capital=name;
12:顯示所有國家名字,其首都是國家名字加上”City”。
SELECT name FROM world WHERE capital LIKE concat(name, ' City');
13:找出所有首都和其國家名字,而首都要有國家名字中出現。
SELECT capital,name FROM world WHERE capital LIKE concat('%',name,'%');
14:找出所有首都和其國家名字,而首都是國家名字的延伸。
你應顯示 Mexico City,因它比其國家名字 Mexico 長。
你不應顯示 Luxembourg,因它的首都和國家名相是相同的。
SELECT name,capital FROM world WHERE capital LIKE concat(name,'_%') ANDcapital
!=name;
15:"Monaco-Ville"是合併國家名字 "Monaco" 和延伸詞"-Ville".
顯示國家名字,及其延伸詞,如首都是國家名字的延伸。
SELECT name, REPLACE(capital,name,'') AS ext FROM world WHERE capital LIKEconcat(name,'_%');
有2个函数注意用法
1:concat()拼接函数,用concat可以拼接2个及以上的字符串
2: replace()函数,用法为replace('被搜索的字符串','样本字符串','需要替换成的字符串')
这网站不错,值得收藏
Basic篇
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 |
.... |
continent:洲份
area:面積
population:人口
gdp:國內生產總值
1:修改此例子,以顯示德國 Germany 的人口。
SELECT population FROM world WHERE name = 'Germany';
2:查詢面積為 5,000,000 以上平方公里的國家,對每個國家顯示她的名字和人均國內生產總值(
gdp/population)。
SELECT name, gdp/population FROM world WHERE area > 5000000;
3:顯示“Ireland 愛爾蘭”,“Iceland 冰島”,“Denmark 丹麥”的國家名稱和人口。
SELECT name, population FROM world WHERE name IN ('Ireland', 'Iceland', 'Denmark');
4:顯示面積為 200,000 及 250,000 之間的國家名稱和該國面積。
SELECT name, area FROM world WHERE area BETWEEN 200000 AND 250000;
Select names篇
name | continent |
---|---|
Afghanistan | Asia |
Albania | Europe |
Algeria | Africa |
Andorra | Europe |
Angola | Africa |
.... |
continent:洲份
1:找出以 Y 為開首的國家。
SELECT name FROM world WHERE name LIKE 'Y%';
2:找出以 Y 為結尾的國家。
SELECT name FROM world WHERE name LIKE '%Y';
3:找出所有國家,其名字包括字母x。
SELECT name FROM world WHERE name LIKE '%x%';
4:找出所有國家,其名字以 land 作結尾。
SELECT name FROM world WHERE name LIKE '%land';
5:找出所有國家,其名字以 C 作開始,ia 作結尾。
SELECT name FROM world WHERE name LIKE 'C%ia';
6:找出所有國家,其名字包括字母oo。
SELECT name FROM world WHERE name LIKE '%oo%';
7:找出所有國家,其名字包括三個或以上的a。
SELECT name FROM world WHERE name LIKE '%a%a%a%';
8:找出所有國家,其名字以t作第二個字母。
SELECT name FROM world WHERE name LIKE '_t%' ORDER BY name;
9:找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。
SELECT name FROM world WHERE name LIKE '%o__o%';
10:找出所有國家,其名字都是 4 個字母的。
SELECT name FROM world WHERE name LIKE '____';
11:顯示所有國家名字,其首都和國家名字是相同的。
SELECT name FROM world WHERE capital=name;
12:顯示所有國家名字,其首都是國家名字加上”City”。
SELECT name FROM world WHERE capital LIKE concat(name, ' City');
13:找出所有首都和其國家名字,而首都要有國家名字中出現。
SELECT capital,name FROM world WHERE capital LIKE concat('%',name,'%');
14:找出所有首都和其國家名字,而首都是國家名字的延伸。
你應顯示 Mexico City,因它比其國家名字 Mexico 長。
你不應顯示 Luxembourg,因它的首都和國家名相是相同的。
SELECT name,capital FROM world WHERE capital LIKE concat(name,'_%') ANDcapital
!=name;
15:"Monaco-Ville"是合併國家名字 "Monaco" 和延伸詞"-Ville".
顯示國家名字,及其延伸詞,如首都是國家名字的延伸。
SELECT name, REPLACE(capital,name,'') AS ext FROM world WHERE capital LIKEconcat(name,'_%');
总结
有2个函数注意用法1:concat()拼接函数,用concat可以拼接2个及以上的字符串
2: replace()函数,用法为replace('被搜索的字符串','样本字符串','需要替换成的字符串')
相关文章推荐
- sqlzoo练习答案--SELECT names/zh
- sqlzoo练习答案--SELECT names/zh
- sqlzoo练习答案--SELECT names/zh
- sqlzoo练习答案--SELECT basics/zh
- sqlzoo练习答案--SELECT basics/zh
- sqlzoo练习答案--SELECT within SELECT Tutorial
- sqlzoo练习答案--SELECT from Nobel Tutorial/zh
- sqlzoo练习答案--SELECT within SELECT Tutorial
- SQLZOO 练习答案 SELECT FROM world
- sqlzoo练习答案--SELECT from Nobel Tutorial/zh
- sqlzoo练习答案--SELECT within SELECT Tutorial
- sqlzoo-SELECT within SELECT参考答案
- sqlzoo练习答案--Self join
- sqlzoo练习答案--SUM and COUNT
- sqlzoo练习答案--More JOIN operations
- sqlzoo练习答案--SUM and COUNT
- sqlzoo练习答案--SUM and COUNT
- sqlzoo练习答案--The JOIN operation
- sqlzoo练习答案--The JOIN operation
- sqlzoo练习答案--More JOIN operations