world表:

name continent
Afghanistan Asia
Albania Europe
Algeria Africa
Andorra Europe
Angola Africa

name: 国家名称
continent:

SELECT names/zh

1
2
3
1.找出以 Y 為開首的國家。
SELECT name FROM world
WHERE name LIKE 'Y%'
1
2
3
2.找出以 Y 為结尾的國家。
SELECT name FROM world
WHERE name LIKE '%Y'
1
2
3
3.找出所有國家,其名字包括字母x。
SELECT name FROM world
WHERE name LIKE '%x%'
1
2
3
4.找出所有國家,其名字以 land 作結尾。
SELECT name FROM world
WHERE name LIKE '%land'
1
2
3
5.找出所有國家,其名字以 C 作開始,ia 作結尾。
SELECT name FROM world
WHERE name LIKE 'C%ia'
1
2
3
6.找出所有國家,其名字包括字母oo。
SELECT name FROM world
WHERE name LIKE '%oo%'
1
2
3
7.找出所有國家,其名字包括三個或以上的a。
SELECT name FROM world
WHERE name LIKE '%a%a%a%'
1
2
3
4
8.找出所有國家,其名字以t作第二個字母。
SELECT name FROM world
WHERE name LIKE '_t%'
ORDER BY name
1
2
3
9.找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。
SELECT name FROM world
WHERE name LIKE '%o__o%'
1
2
3
10.找出所有國家,其名字都是 4 個字母的。
SELECT name FROM world
WHERE name LIKE '____'

More difficult

1
2
3
4
11.顯示所有國家名字,其首都和國家名字是相同的。
SELECT name
FROM world
WHERE name = capital
1
2
3
4
12.顯示所有國家名字,其首都是國家名字加上”City”。
SELECT name
FROM world
WHERE capital = concat(name,' City')
1
2
3
4
13.找出所有首都和其國家名字,而首都要有國家名字中出現。
select capital,name
from world
where capital like concat('%',name,'%')
1
2
3
4
5
6
14.找出所有首都和其國家名字,而首都是國家名字的延伸。
你應顯示 Mexico City,因它比其國家名字 Mexico 長。
你不應顯示 Luxembourg,因它的首都和國家名相是相同的。
select name,capital
from world
where capital like concat(name,'_%')
1
2
3
4
15.顯示國家名字,及其延伸詞,如首都是國家名字的延伸。
select name,replace(capital,name,'')
from world
where capital like concat(name,'_%')

Quiz

1.選擇產生此表的代碼。
US__9CHFUS49TM__10ADP7S.png
Answer:

1
2
3
SELECT name, population
FROM world
WHERE population BETWEEN 1000000 AND 1250000

2.選擇你會從這個代碼獲得的結果。

1
2
3
SELECT name, population
FROM world
WHERE name LIKE "Al%"

Answer:
PS__4__E6O_X__62_I6~ZES.png
3.選擇代碼以顯示以“A”或“L” 結束的國家。
Answer:

1
2
SELECT name FROM world
WHERE name LIKE '%a' OR name LIKE '%l'

4.選擇查詢的結果。

1
2
3
SELECT name,length(name)
FROM world
WHERE length(name)=5 and region='Europe'

Answer:
44.png
5.這是world表格的開首數行記錄
5K_N_GTJ4G2EOJK@C@L9__0.png
選擇你會從這個代碼獲得的結果。

1
SELECT name, area*2 FROM world WHERE population = 64000

Answer:
OWP03ZWA4WB_~HBTFC57Z8A.png
6.選擇代碼以顯示面積大於50000,人口少過1000萬(10000000)的國家。
Answer:

1
2
3
SELECT name, area, population
FROM world
WHERE area > 50000 AND population < 10000000

7.選擇代碼以顯示中國,澳大利亞,尼日利亞和法國的人口密度。
Answer:

1
2
3
SELECT name, population/area
FROM world
WHERE name IN ('China', 'Nigeria', 'France', 'Australia')

Summary

  • 主要运用了like搜索指定模式的功能,以及%和_通配符的使用
  • concat(s1,s2,…) 函数:
    用于合并2个或以上的字符串。返回字符串
  • replace(s,a,b) 函数:
    replace(‘vessel’,’e’,’a’) -> ‘vassal’ 将s中出现的字符e全部替换为a。返回字符串