SELECT country.continent, country.name, city.district, city.name, city.population
FROM world.country, world.city
WHERE city.population < 3000000
LIMIT 20, 30;
我正在获得一个笛卡尔积而不是一张表,其中显示了城市人口超过300万的select子句的内容。
world是数据库的名称 国家和城市是表格
请帮忙。
答案 0 :(得分:2)
您需要将表格加在一起:
SELECT country.continent, country.name, city.district, city.name, city.population
FROM world.country JOIN
world.city
ON country.code = city.countrycode
WHERE city.population < 3000000
LIMIT 20, 30;
作为编写SQL的提示:永远不要在from
子句中使用逗号。始终使用显式连接。这些比隐式连接更强大(许多人认为它们使查询更容易阅读和维护)。