【问题标题】:SQL SELECT CitiesSQL 选择城市
【发布时间】:2015-09-24 18:27:19
【问题描述】:

我的作业是编写一个 SQL 查询:

  1. 选择所有城市的居民总数(人口)大于 400 的国家/地区
  2. 选择根本没有建筑物的国家/地区的名称。

有一个表定义

我)

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

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

【问题讨论】:

  • 抱歉重复,我已经删除了
  • 不要删除您之前提出的问题只是为了重新发布相同的问题...
  • 好的,我记住了,我是新手……

标签: mysql sql subquery


【解决方案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
    )

【讨论】:

  • @StefanOgur:如果答案对您有用,如果您支持它或将其标记为已接受,我将不胜感激。谢谢!
  • 非常感谢,但由于我的声誉,我不能投票
  • 没关系,因为您已将其标记为已接受,这就是您可以作为回答者参与的方式
猜你喜欢
  • 1970-01-01
  • 2021-06-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2019-02-15
  • 2016-10-09
相关资源
最近更新 更多