Mondial 数据库:Select 所有城市以 "A" 开头的所有国家/地区
Mondial Database: Select all countries where all cities start with "A"
我想从只有以“A”开头的城市的 Mondial 数据库中取出每个国家/地区。
我已经知道每个国家拥有的城市数量以及每个国家拥有以“A”开头的城市数量。我的想法是只比较计数语句的数量,但我不知道如何比较分组的 2 个查询。
如果您不了解 mondial,下表对于该任务很有趣。
城市:姓名、国家、省份、人口
国家:名称、代码、首都、地区、人口
我的查询如下:
SELECT Country.Code, Count(City.Name)
FROM City,
Country
WHERE Country.Code = City.Country
AND City.Name LIKE 'A%'
GROUP BY Country.Name
并且没有 LIKE = 'A%'
的查询
希望你能帮助我。
根据@jarlh 的建议,我会使用 NOT EXISTS
SELECT Country.Code
FROM Country
WHERE NOT EXISTS (
SELECT 1
FROM City
WHERE Country.Code = City.Country
AND City.Name NOT LIKE 'A%'
)
我想从只有以“A”开头的城市的 Mondial 数据库中取出每个国家/地区。
我已经知道每个国家拥有的城市数量以及每个国家拥有以“A”开头的城市数量。我的想法是只比较计数语句的数量,但我不知道如何比较分组的 2 个查询。 如果您不了解 mondial,下表对于该任务很有趣。
城市:姓名、国家、省份、人口
国家:名称、代码、首都、地区、人口
我的查询如下:
SELECT Country.Code, Count(City.Name)
FROM City,
Country
WHERE Country.Code = City.Country
AND City.Name LIKE 'A%'
GROUP BY Country.Name
并且没有 LIKE = 'A%'
希望你能帮助我。
根据@jarlh 的建议,我会使用 NOT EXISTS
SELECT Country.Code
FROM Country
WHERE NOT EXISTS (
SELECT 1
FROM City
WHERE Country.Code = City.Country
AND City.Name NOT LIKE 'A%'
)