今日SQL练习2018-11-27

--6、哪些國家的GDP比Europe歐洲的全部國家都要高呢? [只需列出 name 。] (有些國家的記錄中,GDP是NULL,沒有填入資料的。)

SELECT name
    FROM world
   WHERE GDP > ALL(
                    SELECT GDP 
                        FROM world 
                       WHERE continent = 'Europe' 
                            AND GDP > 0);

--7、在每一個州中找出最大面積的國家,列出洲份 continent, 國家名字 name 及面積 area。 (有些國家的記錄中,AREA是NULL,沒有填入資料的。)

SELECT continent, name, area
    FROM world x
  WHERE area >= ALL(
                    SELECT area 
                        FROM world y
                       WHERE y.continent=x.continent
                         AND area>0);           

--8、列出洲份名稱,和每個洲份中國家名字按子母順序是排首位的國家名。(即每洲只有列一國)

SELECT continent,name
    FROM world x
   WHERE x.name = (SELECT y.name 
                       FROM world y 
                      WHERE y.continent = x.continent 
                      ORDER BY name LIMIT 1);                         

--9、找出洲份,當中全部國家都有少於或等於 25000000 人口. 在這些洲份中,列出國家名字name,
continent 洲份和population人口。

SELECT name, continent, population
    FROM world x 
   WHERE 25000000 > ALL( 
                        SELECT population 
                            FROM world y 
                           WHERE x.continent = y.continent 
                            AND population > 0);                 

10、有些國家的人口是同洲份的所有其他國的3倍或以上。列出 國家名字name 和 洲份 continent。

SELECT name, continent
    FROM world x
   WHERE population/3 >= ALL(
                             SELECT population 
                                FROM world y 
                               WHERE x.continent = y.continent 
                                  AND x.name != y.name 
                                  AND population > 0);

你可能感兴趣的:(今日SQL练习2018-11-27)