SQL语句练习

一.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

二.文字样式匹配查询

  1. 找出以 Y 為開首的國家。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE 'Y%'

2.找出以 Y 為結尾的國家。

SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '%Y'
  1. 找出所有國家,其名字包括字母x。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '%x%'
  1. 找出所有國家,其名字以 land 作結尾。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '%land'
  1. 找出所有國家,其名字以 C 作開始,ia 作結尾。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE 'C%ia'
  1. 找出所有國家,其名字包括字母oo。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '%oo%'
  1. 找出所有國家,其名字包括三個或以上的a。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '%a%a%a%'
  1. 找出所有國家,其名字以t作第二個字母。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '_t%' 
ORDER BY
	`name`
  1. 找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '%o__o%'
  1. 找出所有國家,其名字都是 4 個字母的。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` LIKE '____'
  1. 顯示所有國家名字,其首都和國家名字是相同的。
SELECT
	`name` 
FROM
	world 
WHERE
	`name` = capital
  1. 顯示所有國家名字,其首都是國家名字加上”City”。
SELECT
	`name` 
FROM
	world 
WHERE
	capital = concat(
		`name`,
		' City' 
	)
  1. 找出所有首都和其國家名字,而首都要有國家名字中出現。
SELECT
	capital,
	`name` 
FROM
	world 
WHERE
	capital LIKE concat(
		'%',
		`name`,
		'%' 
	)
  1. 找出所有首都和其國家名字,而首都是國家名字的延伸。
SELECT
	`name`,
	capital 
FROM
	world 
WHERE
	capital LIKE concat( `name`, '%' ) 
	AND (capital != `name`)
  1. 顯示國家名字,及其延伸詞,如首都是國家名字的延伸。
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值