SQL SELECT Cities

时间:2015-09-24 18:27:20

标签: mysql sql subquery

我有编写SQL查询的作业:

  1. 选择所有城市居民(人口)总人数超过400的国家
  2. 选择根本没有建筑物的国家/地区的名称。
  3. 有一个表格定义

    http://imgur.com/hLZZ90F

    I)

    SELECT c1.Name
    FROM Country c1
    JOIN City c2 ON (c1.CountryID = c2.CountryID)
     WHERE NOT EXISTS 
           (SELECT *
              FROM City
             WHERE Population < 400)
    ;
    

    为什么这不正确?我没有收到任何记录。

1 个答案:

答案 0 :(得分:1)

有几种方法,这种方法适用于第一种情况:

select *
from Country co
where 400 < all ( 
            select ci.Population 
            from City ci 
            where ci.CountryID = co.CountryID
            )

对于第二种情况:

select *
from Country co
where 0 = (
    select COUNT(1)
    from City ci 
        JOIN Building B ON B.CityID = CI.CityID
    where ci.CountryID = co.CountryID
    )