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
);
相关推荐
m0_748246872 小时前
MySQL8.0 innodb Cluster 高可用集群部署(MySQL、MySQL Shell、MySQL Router安装)
android·mysql·adb
一张假钞3 小时前
Python3操作MongoDB批量upsert
开发语言·数据库·python·mongodb
atom goper4 小时前
Redis混合持久化
数据库·redis·mybatis
yqcoder4 小时前
MongoDB 的基本概念
数据库·mongodb
JavaGuide5 小时前
Spring 项目接入 DeepSeek,分享两种超简单的方式!
数据库·python·spring
Minxinbb5 小时前
MySQL 中可以通过添加主键来节省磁盘空间吗?(译文)
数据库·mysql·dba
qq_13948428826 小时前
springboot239-springboot在线医疗问答平台(源码+论文+PPT+部署讲解等)
java·数据库·spring boot·后端·spring·maven·intellij-idea
神仙别闹6 小时前
基于Springmvc+MyBatis+Spring+Bootstrap+EasyUI+Mysql的个人博客系统
java·mysql·ssm
陈老师还在写代码7 小时前
讲解下MySql的外连接查询在SpringBoot中的使用情况
数据库·spring boot·mysql