forked from mrdziuban/SQLZoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
4_select_within_select.sql
79 lines (72 loc) · 2.02 KB
/
4_select_within_select.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
-- # 1. List each country name where the population is larger than
-- # 'Russia'.
SELECT name
FROM world
WHERE population > (
SELECT population
FROM world
WHERE name = 'Russia');
-- # 2. List the name and continent of countries in the continents
-- # containing 'Belize', 'Belgium'.
SELECT name, continent
FROM world
WHERE continent IN (
SELECT continent
FROM world
WHERE name IN ('Belize', 'Belgium'));
-- # 3. Show the countries in Europe with a per capita GDP greater than
-- # 'United Kingdom'.
SELECT name
FROM world
WHERE continent = 'Europe'
AND gdp/population > (
SELECT gdp/population
FROM world
WHERE name = 'United Kingdom');
-- # 4. Which country has a population that is more than Canada but
-- # less than Poland? Show the name and the population.
SELECT name, population
FROM world
WHERE population > (
SELECT population
FROM world
WHERE name = 'Canada')
AND population < (
SELECT population
FROM world
WHERE name = 'Poland');
-- # 5. Which countries have a GDP greater than any country in Europe?
-- # [Give the name only.]
SELECT name
FROM world
WHERE gdp > (
SELECT MAX(gdp)
FROM world
WHERE continent = 'Europe');
-- # 6. Find the largest country (by area) in each continent, show the
-- # continent, the name and the area.
SELECT x.continent, x.name, x.area
FROM world AS x
WHERE x.area = (
SELECT MAX(y.area)
FROM world AS y
WHERE x.continent = y.continent)
-- # 7. Find each country that belongs to a continent where all
-- # populations are less than 25000000. Show name, continent and
-- # population.
SELECT x.name, x.continent, x.population
FROM world AS x
WHERE 25000000 > ALL (
SELECT y.population
FROM world AS y
WHERE x.continent = y.continent);
-- # 8. Some countries have populations more than three times that of
-- # any of their neighbours (in the same continent). Give the
-- # countries and continents.
SELECT x.name, x.continent
FROM world AS x
WHERE x.population/3 > ALL (
SELECT y.population
FROM world AS y
WHERE x.continent = y.continent
AND x.name != y.name);