标签:either ted lsp asi tor lis value rman content
This tutorial looks at how we can use SELECT statements within SELECT statements to perform more complex queries.
| name | continent | area | population | gdp |
|---|---|---|---|---|
| Afghanistan | Asia | 652230 | 25500100 | 20343000000 |
| Albania | Europe | 28748 | 2831741 | 12960000000 |
| Algeria | Africa | 2381741 | 37100000 | 188681000000 |
| Andorra | Europe | 468 | 78115 | 3712000000 |
| Angola | Africa | 1246700 | 20609294 | 100990000000 |
| ... | ||||
List each country name where the population is larger than that of ‘Russia‘.
world(name, continent, area, population, gdp)
SELECT name FROM world
WHERE population >
(SELECT population FROM world
WHERE name=‘Russia‘)SELECT name FROM world
WHERE gdp/population >
(SELECT gdp/population FROM world
WHERE name=‘United Kingdom‘) and continent=‘Europe‘select name,continent from world where continent in (select continent from world where name in(‘Argentina‘,‘Australia‘)) order by name
select name,population from world where population > (select population from world where name=‘Canada‘) and population <(select population from world where name=‘Poland‘) order by name
Germany (population 80 million) has the largest population of the countries in Europe. Austria (population 8.5 million) has 11% of the population of Germany.
Show the name and the population of each country in Europe. Show the population as a percentage of the population of Germany.
select name,CONCAT(ROUND(100*population/(select population from world where name=‘Germany‘)),‘%‘) from world where continent=‘Europe‘
select name from world where gdp > ALL(select gdp from world where gdp > 0 and continent=‘Europe‘)
SELECT continent, name, area FROM world x
WHERE x.area >=
ALL(SELECT y.area FROM world y
WHERE y.continent=x.continent
AND area>0)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)
SELECT name, continent, population FROM world x
WHERE 25000000>=ALL (SELECT population FROM world y
WHERE x.continent=y.continent
AND population>0)select name,continent from world x where x.population/3 >= all(select population from world y where x.continent=y.continent and x.name!=y.name and y.population>0)
sqlzoo练习答案--SELECT within SELECT Tutorial
标签:either ted lsp asi tor lis value rman content
原文地址:http://www.cnblogs.com/brucemengbm/p/7191649.html