sqlzoo需要知道的那些事

zhengyeye發表於2018-09-14

1.“Bahamas 巴哈馬”中有三個 a,還有嗎?找出所有國家,其名字包括三個或以上的a。

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

2.“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

3.“Lesotho 賴索托”和”Moldova 摩爾多瓦”都有兩個字母 o,被另外兩個字母相隔著。找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔著。

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

4.“Cuba古巴”和”Togo 多哥”都是 4 個字母。找出所有國家,其名字都是 4 個字母的。

SELECT name FROM world WHERE name LIKE '____'

5.“Luxembourg 盧森堡”的首都 capital 都同樣叫“Luxembourg”。顯示所有國家名字,其首都和國家名字是相同的。

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

6.“Mexico 墨西哥”的首都是”Mexico City”。顯示所有國家名字,其首都是國家名字加上”City”。

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

7.找出所有首都和其國家名字,而首都要有國家名字中出現。

select capital,name from world where capital Like concat('%',name,'%')

8."Monaco-Ville"是合併國家名字 "Monaco" 和延伸詞"-Ville".顯示國家名字,及其延伸詞,如首都是國家名字的延伸。你可以使用SQL函式 REPLACE 或 MID.

select name,replace(capital, name, '') from world where capital Like concat(name,'%_')

9.找出所有首都和其國家名字,而首都是國家名字的延伸。你應顯示 Mexico City,因它比其國家名字 Mexico 長。你不應顯示 Luxembourg,因它的首都和國家名相是相同的。

select name,capital from world where capital Like concat('%',name,'%') and capital != name

10.==

相關文章