一.SQL语句基础
1.顯示德國 Germany 的人口
``SELECT population FROM world
WHERE name = 'Germany'
2.查詢面積為 5,000,000 以上平方公里的國家,對每個國家顯示她的名字和人均國內生產總值
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
二.文字样式匹配查询
- 找出以 Y 為開首的國家。
SELECT
`name`
FROM
world
WHERE
`name` LIKE 'Y%'
2.找出以 Y 為結尾的國家。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '%Y'
- 找出所有國家,其名字包括字母x。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '%x%'
- 找出所有國家,其名字以 land 作結尾。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '%land'
- 找出所有國家,其名字以 C 作開始,ia 作結尾。
SELECT
`name`
FROM
world
WHERE
`name` LIKE 'C%ia'
- 找出所有國家,其名字包括字母oo。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '%oo%'
- 找出所有國家,其名字包括三個或以上的a。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '%a%a%a%'
- 找出所有國家,其名字以t作第二個字母。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '_t%'
ORDER BY
`name`
- 找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '%o__o%'
- 找出所有國家,其名字都是 4 個字母的。
SELECT
`name`
FROM
world
WHERE
`name` LIKE '____'
- 顯示所有國家名字,其首都和國家名字是相同的。
SELECT
`name`
FROM
world
WHERE
`name` = capital
- 顯示所有國家名字,其首都是國家名字加上”City”。
SELECT
`name`
FROM
world
WHERE
capital = concat(
`name`,
' City'
)
- 找出所有首都和其國家名字,而首都要有國家名字中出現。
SELECT
capital,
`name`
FROM
world
WHERE
capital LIKE concat(
'%',
`name`,
'%'
)
- 找出所有首都和其國家名字,而首都是國家名字的延伸。
SELECT
`name`,
capital
FROM
world
WHERE
capital LIKE concat( `name`, '%' )
AND (capital != `name`)
- 顯示國家名字,及其延伸詞,如首都是國家名字的延伸。
SELECT
`name`,
REPLACE ( capital, `name`, '' ) AS ext
FROM
world
WHERE
capital LIKE concat( `name`, '%' )
AND (capital != `name`)
三.SELECT from WORLD Tutorial
1.觀察運行一個簡單的SQL命令的結果。
SELECT name, continent, population FROM world
2.顯示具有至少2億人口的國家名稱。 2億是200000000,有八個零。
SELECT name FROM world
WHERE population > 200000000
3.找出有至少200百萬(2億)人口的國家名稱,及人均國內生產總值。
SELECT name,gdp/population FROM world
WHERE population > 200000000
4.顯示’South America’南美洲大陸的國家名字和以百萬為單位人口數。將人口population 除以一百萬(1000000)得可得到以百萬為單位人口數。
SELECT name, population/1000000 FROM world
WHERE continent = 'South America'
5.顯示法國,德國,意大利(France, Germany, Italy)的國家名稱和人口。
SELECT name, population FROM world
WHERE name IN ('France','Germany','Italy')
6.顯示包含單詞“United”為名稱的國家。
SELECT name FROM world
WHERE name LIKE '%United%'
7.成為大國的兩種方式:如果它有3百萬平方公里以上的面積,或擁有250百萬(2.5億)以上人口。
SELECT name, population, area FROM world
WHERE area > 3000000 OR population > 250000000
8.美國、印度和中國(USA, India, China)是人口又大,同時面積又大的國家。排除這些國家。
SELECT name, population, area FROM world
WHERE (area > 3000000 AND population < 250000000) OR(area < 3000000 AND population > 250000000)
9.除以為1000000(6個零)是以百萬計。除以1000000000(9個零)是以十億計。使用 ROUND 函數來顯示的數值到小數點後兩位。
SELECT name, ROUND(population/1000000, 2), ROUND(gdp/1000000000, 2) FROM world
WHERE continent = 'South America'
10.顯示國家有至少一個萬億元國內生產總值(萬億,也就是12個零)的人均國內生產總值。四捨五入這個值到最接近1000。
SELECT name, ROUND(gdp/population/1000)*1000 FROM world
WHERE gdp > 1000000000000