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
);
相关推荐
ONETHING_CLOUD_2几秒前
设备存储空间不足怎么办?
数据库·电脑·备份·数据存储·网盘·存储空间·数码知识
王者鳜錸7 分钟前
2024从Maven-MySQL-Nginx部署
mysql·nginx·maven
用户6279947182629 分钟前
南大通用GBase 8a gn层物理存储结构介绍
数据库
用户62799471826224 分钟前
关于南大通用GBase 8s的DML触发器的讨论
数据库
落霞的思绪29 分钟前
NoSql文档型数据库——Mongodb
数据库·mongodb·nosql
写bug写bug33 分钟前
为什么 LIMIT 0, 10 快,而 LIMIT 1000000, 10 慢?
数据库·后端·mysql
用户62799471826239 分钟前
1小时掌握南大通用GBase 8c Hint核心技巧!让SQL从10秒到1秒
数据库
追寻向上44 分钟前
SQL注入:安全威胁的幽灵与防御体系的构建——从经典攻击到智能防护的演进
网络·sql·安全
再路上12162 小时前
direct_visual_lidar_calibration iridescence库问题
java·服务器·数据库