sqlzoo练习记录(SELECT within SELECT Tutorial)

##sqlzoo练习记录(SELECT within SELECT Tutorial)

1.列出每個國家的名字 name,當中人口 population 是高於俄羅斯’Russia’的人口。
SELECT name FROM world
WHERE population >
(SELECT population FROM world
WHERE name=‘Russia’);

2.列出歐州每國家的人均GDP,當中人均GDP要高於英國’United Kingdom’的數值。
SELECT name
FROM world
WHERE continent=‘Europe’
AND gdp/population>(SELECT gdp/population FROM world WHERE name =‘United Kingdom’);

3.在阿根廷Argentina 及 澳大利亞 Australia所在的洲份中,列出當中的國家名字 name 及洲分 continent 。按國字名字順序排序
SELECT name ,continent
FROM world
WHERE continent IN((SELECT continent FROM world WHERE name =‘Australia’ ),(SELECT continent FROM world WHERE name =‘Argentina’))
ORDER BY name;

4.哪一個國家的人口比加拿大Canada的多,但比波蘭Poland的少?列出國家名字name和人口population 。
SELECT name ,population
FROM world
WHERE population >(SELECT population FROM world WHERE name=‘Canada’) AND
population<(SELECT population FROM world WHERE name=‘poland’);

5.Germany德國(人口8000萬),在Europe歐洲國家的人口最多。Austria奧地利(人口850萬)擁有德國總人口的11%。
顯示歐洲的國家名稱name和每個國家的人口population。以德國的人口的百分比作人口顯示。
SELECT name ,CONCAT(ROUND(population*100/(SELECTpopulation FROM world WHERE name =‘germany’),0),’%’)
FROM world
WHERE continent =‘Europe’;

6.哪些國家的GDP比Europe歐洲的全部國家都要高呢? [只需列出 name 。] (有些國家的記錄中,GDP是NULL,沒有填入資料的。)
SELECT name
FROM world
WHERE gdp > ALL (SELECT gdp FROM world WHERE continent =‘europe’ AND gdp>0);

7.在每一個州中找出最大面積的國家,列出洲份 continent, 國家名字 name 及面積 area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)
SELECT continent, name,area FROM world x
WHERE area >= All
(SELECT area FROM world y
WHERE y.continent=x.continent
AND area>0);

8.列出洲份名稱,和每個洲份中國家名字按子母順序是排首位的國家名。(即每洲只有列一國)
SELECT continent ,name
FROM world x
WHERE x.name=(SELECT y.name FROM world y WHERE y.continent=x.continent ORDER BY name LIMIT 1);

9.找出洲份,當中全部國家都有少於或等於 25000000 人口. 在這些洲份中,列出國家名字name,continent 洲份和population人口。
SELECT name,continent,population FROM world x
WHERE 25000000>=ALL(SELECT population FROM world y WHERE
y.continent=x.continent AND population>0
);

10.有些國家的人口是同洲份的所有其他國的3倍或以上。列出 國家名字name 和 洲份 continent。
SELECT name ,continent
FROM world x
WHERE x.population/3 >=ALL (SELECT population FROM world y WHERE x.continent=y.continent
AND population>0 AND x.name !=y.name );

quit:

1.選擇代碼以顯示在每個區域人口最小的國家的國家名稱,區域和人口。
在这里插入图片描述
2.選擇代碼以顯示國家名稱,該國所在的地區每國人口都超過50000。
在这里插入图片描述
3.選擇代碼以顯示國家名稱,該國家人口少於它周圍的全部國家的人口三分之一。
在这里插入图片描述
4.選擇你會從這個代碼獲得的結果。
SELECT name FROM bbc
WHERE population >
(SELECT population
FROM bbc
WHERE name=‘United Kingdom’)
AND region IN
(SELECT region
FROM bbc
WHERE name = ‘United Kingdom’)

在这里插入图片描述
5.選擇代碼以顯示國家名稱,該國有比非洲任何國家更大的國內生產總值GDP。
在这里插入图片描述
6.選擇代碼以顯示國家名稱,該國人口比俄羅斯少,但比丹麥的多。
在这里插入图片描述
7.選擇你會從這個代碼獲得的結果。
SELECT name FROM bbc
WHERE population > ALL
(SELECT MAX(population)
FROM bbc
WHERE region = ‘Europe’)
AND region = ‘South Asia’
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值