首页 >数据库 >mysql教程 >sqlzoo练习答案--SELECTnames/zh_MySQL

sqlzoo练习答案--SELECTnames/zh_MySQL

WBOY
WBOY原创
2016-05-27 13:45:273622浏览
name continent
Afghanistan Asia
Albania Europe
Algeria Africa
Andorra Europe
Angola Africa
....

name:国家名称
continent:洲份

1、

你可以用WHERE name LIKE 'B%'来找出以 B 为开首的国家。
%是万用字元,可以用代表任何字完。

找出以 Y 为开首的国家。

SELECT name FROM world
  WHERE name LIKE 'Y%'
2、找出以 Y 为结尾的国家。
SELECT name FROM world
  WHERE name LIKE '%Y'

3、

“Luxembourg 卢森堡”中有一个x字母,还有一个国家的名字中有x。列出这两个国家。

找出所有国家,其名字包括字母x。

SELECT name FROM world
  WHERE name LIKE '%x%'
4、

“Iceland 冰岛”和“Switzerland 瑞士”的名字都是以”land”作结束的。还有其他吗?

找出所有国家,其名字以 land 作结尾。

SELECT name FROM world
  WHERE name LIKE '%land'
5、

“Columbia 哥伦比亚”是以 C 作开始,ia 作结尾的。还有两个国家相同。

找出所有国家,其名字以 C 作开始,ia 作结尾。

SELECT name FROM world
  WHERE name LIKE 'C%ia'
6、

“Greece 希腊”中有双 e 字。哪个国家有双 o 字呢?

找出所有国家,其名字包括字母oo。

SELECT name FROM world
  WHERE name LIKE '%oo%'
7、

“Bahamas 巴哈马”中有三个 a,还有吗?

找出所有国家,其名字包括三个或以上的a。

SELECT name FROM world
  WHERE name LIKE '%a%a%a%'
8、

“India 印度”和”Angola 安哥拉”的第二个字母都是 n。
你可以用底线符_当作单一个字母的万用字元。

SELECT name FROM world
 WHERE name LIKE '_n%'
ORDER BY name

找出所有国家,其名字以t作第二个字母。

SELECT name FROM world
 WHERE name LIKE '_t%'
ORDER BY name

9、

“Lesotho 赖索托”和”Moldova 摩尔多瓦”都有两个字母 o,被另外两个字母相隔着。

找出所有国家,其名字都有两个字母 o,被另外两个字母相隔着。

SELECT name FROM world
 WHERE name LIKE '%o__o%'
10、

“Cuba古巴”和”Togo 多哥”都是 4 个字母。

找出所有国家,其名字都是 4 个字母的。

SELECT name FROM world
 WHERE name LIKE '____'
11、

“Luxembourg 卢森堡”的首都 capital 都同样叫“Luxembourg”。

显示所有国家名字,其首都和国家名字是相同的。

SELECT name FROM world
 WHERE name = concat(capital, '')
12、

“Mexico 墨西哥”的首都是”Mexico City”。

显示所有国家名字,其首都和是国家名字加上”City”。

SELECT name FROM world
 WHERE capital = 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,'%') and capital != name
15、

"Monaco-Ville"是合并国家名字 "Monaco" 和延伸词"-Ville".

显示国家名字,及其延伸词,如首都是国家名字的延伸。

你可以使用SQL函数 REPLACE 或 MID.

select name,replace(capital, name, '') from world where capital Like concat(name,'%_')
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn