SQLZoo-SELECT within SELECT Tutorial

  1. List each country name where the population is larger than that of 'Russia'.
sql 复制代码
SELECT name FROM world
  WHERE population >
     (SELECT population FROM world
      WHERE name='Russia')
  1. Show the countries in Europe with a per capita GDP greater than 'United Kingdom'.
sql 复制代码
SELECT name FROM world
  WHERE continent = 'Europe' AND gdp/population >
     (SELECT gdp/population FROM world
      WHERE name='United Kingdom')
  1. List the name and continent of countries in the continents containing either Argentina or Australia. Order by name of the country.
sql 复制代码
SELECT name, continent
FROM world
WHERE continent IN (
    SELECT continent
    FROM world
    WHERE name IN ('Argentina', 'Australia')
)
ORDER BY name;
  1. Which country has a population that is more than United Kingdom but less than Germany? Show the name and the population.
sql 复制代码
SELECT name, population FROM world
  WHERE population > (
        SELECT population FROM world
        WHERE name = 'United Kingdom') AND population < (
        SELECT population FROM world
        WHERE name = 'Germany')
  1. 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.

The format should be Name, Percentage for example:

name percentage
Albania 3%
Andorra 0%
Austria 11%
... ...
sql 复制代码
SELECT name,
 CONCAT(ROUND(100*population/(
      SELECT population FROM world
      WHERE name = 'Germany'),0),'%') AS percentage
  FROM world
  WHERE continent = 'Europe'
  1. Which countries have a GDP greater than every country in Europe? [Give the name only.] (Some countries may have NULL gdp values)
sql 复制代码
SELECT name FROM world
 WHERE gdp > (
      SELECT Max(gdp) FROM world
      WHERE continent = 'Europe')
  1. Find the largest country (by area) in each continent, show the continent , the name and the area:
sql 复制代码
SELECT continent, name, area FROM world x
  WHERE area >= ALL
    (SELECT area FROM world y
        WHERE y.continent=x.continent
          AND area>0)
  1. List each continent and the name of the country that comes first alphabetically.
sql 复制代码
SELECT continent, MIN(name) AS first_country
FROM world
GROUP BY continent
ORDER BY continent
  1. Find the continents where all countries have a population <= 25000000. Then find the names of the countries associated with these continents. Show name , continent and population.
sql 复制代码
SELECT name, continent, population
FROM world
WHERE continent IN (
    SELECT continent
    FROM world
    GROUP BY continent
    HAVING MAX(population) <= 25000000)
  1. Some countries have populations more than three times that of all of their neighbours (in the same continent). Give the countries and continents.
sql 复制代码
SELECT c1.name AS country, c1.continent
FROM world c1
WHERE c1.population > ALL (
    SELECT 3 * c2.population
    FROM world c2
    WHERE c2.continent = c1.continent
      AND c2.name <> c1.name
);
相关推荐
qianshang2334 小时前
SQL注入学习总结
网络·数据库·渗透
what丶k4 小时前
深入解析Redis数据持久化:RBD机制原理、实操与生产最佳实践
数据库·redis·缓存
瀚高PG实验室5 小时前
通过数据库日志获取数据库中的慢SQL
数据库·sql·瀚高数据库
辰宇信息咨询5 小时前
3D自动光学检测(AOI)市场调研报告-发展趋势、机遇及竞争分析
大数据·数据分析
Hgfdsaqwr5 小时前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
invicinble5 小时前
对于Mysql深入理解
数据库·mysql
阳光九叶草LXGZXJ6 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
Hgfdsaqwr6 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
s1hiyu6 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
2301_763472466 小时前
使用Seaborn绘制统计图形:更美更简单
jvm·数据库·python