您的位置:首页 > 数据库

SQLZOO 练习答案 SELECT_basic_names

2016-12-15 21:37 651 查看
www.sqlzoo.net

这网站不错,值得收藏

Basic篇

namecontinentareapopulationgdp
AfghanistanAsia6522302550010020343000000
AlbaniaEurope28748283174112960000000
AlgeriaAfrica238174137100000188681000000
AndorraEurope468781153712000000
AngolaAfrica124670020609294100990000000
....
name:國家名稱
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篇

namecontinent
AfghanistanAsia
AlbaniaEurope
AlgeriaAfrica
AndorraEurope
AngolaAfrica
....
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('被搜索的字符串','样本字符串','需要替换成的字符串')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql