SQL Zoo 练习题答案—SELECT basics & SELECT name

在 SQL Zoo 做 SQL 练习,下面记录下我的答案,如果没做出来会注明。

本篇为前两节 SELECT basicsSELECT name 的答案。


SELECT basic


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


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%' ORDER BY name

10.找出所有國家,其名字都是 4 個字母的。

SELECT name FROM world WHERE name LIKE '____'

11.顯示所有國家名字,其首都和國家名字是相同的

SELECT name FROM world WHERE name = capital

12.顯示所有國家名字,其首都是國家名字加上” 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,'_%')

15."Monaco-Ville"是合併國家名字 "Monaco" 和延伸詞"-Ville".

顯示國家名字,及其延伸詞,如首都是國家名字的延伸。

SELECT name, REPLACE(capital, name, '') FROM world WHERE capital LIKE CONCAT('%',name,'%') AND REPLACE(capital, name, '') <> ''

你可能感兴趣的:(SQL Zoo 练习题答案—SELECT basics & SELECT name)