-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSELECT_within_SELECT_Tutorial.sql
98 lines (89 loc) · 2.78 KB
/
SELECT_within_SELECT_Tutorial.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
-- List each country name where the population is larger than that of 'Russia'.
SELECT name FROM world
WHERE population >
(SELECT population FROM world
WHERE name='Russia')
-- Show the countries in Europe with a per capita GDP greater than 'United Kingdom'.
SELECT name
FROM world
WHERE gdp/population > (
SELECT gdp/population
FROM world
WHERE name = 'United Kingdom'
)
AND
continent = 'Europe'
-- List the name and continent of countries in the continents containing either Argentina or Australia. Order by name of the country.
SELECT name, continent
FROM world
WHERE continent in (
SELECT continent
FROM world
WHERE name in ('Argentina', 'Australia')
)
ORDER BY name
-- 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'
)
-- 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.
SELECT name, CONCAT(ROUND(population/(
SELECT population
FROM world
WHERE name = 'Germany'
)
* 100) ,'%') AS percentage
FROM world
WHERE continent = 'Europe'
-- Which countries have a GDP greater than every country in Europe? [Give the name only.] (Some countries may have NULL gdp values)
SELECT name
FROM world
WHERE gdp > ALL (
SELECT gdp
FROM world
WHERE gdp > 0
AND continent = 'Europe'
)
-- Find the largest country (by area) in each continent, show the continent, the name and the area:
SELECT continent, name, area FROM world x
WHERE area >= ALL
(SELECT area FROM world y
WHERE y.population=x.population
AND area>0)
-- List each continent and the name of the country that comes first alphabetically.
SELECT x.continent, x.name
FROM world x
WHERE x.name <= ALL (
SELECT name
FROM world y
WHERE x.continent = y.continent
)
-- 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.
SELECT name, continent, population
FROM world x
WHERE 25000000 >= ALL (
SELECT population
FROM world y
WHERE x.continent = y.continent
AND population > 0
)
-- Some countries have populations more than three times that of all of their neighbours (in the same continent). Give the countries and continents.
SELECT name, continent
FROM world x
WHERE population / 3 >= ALL (
SELECT population
FROM world y
WHERE y.continent = x.continent
AND y.name != x.name
)