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
);
相关推荐
海南java第二人12 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧13 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱13 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp14 小时前
NoSql数据库设计心得
数据库·nosql
bjzhang7515 小时前
CentOS下安装MySQL详解
linux·mysql·centos
睡不醒男孩03082316 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love16 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob17 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q17 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发17 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql