如何从 2 table 进行多条件查询?

How to do query with multiple condition from 2 table?

我想根据这些条件从 worldcity 中挑选城市:

``

worldcity.colomns = ['city', 'lat','lng','country','iso2','iso3','capital','population','id']

uscity.columns = ['city', 'state_id', 'state_name', 'county_fips', 'county_name',
   'lat', 'lng', 'population', 'density', 'source', 'military',
   'incorporated', 'timezone', 'ranking', 'zips', 'id']

query = """
SELECT DISTINCT
    city
FROM
    worldcity as w
inner join
      uscity as u
on
      w.city = u.city
WHERE w.population >= (MAX)population IN
    (SELECT
        population
    FROM worldcity
    WHERE
        country = 'Filipina';
    )
"""
sql_run(query)

操作错误:“人口”附近:语法错误

调整 WHERE 子句以将 MAX 放在子查询中:

...
WHERE w.population > (
    SELECT MAX(population)
    FROM worldcity 
    WHERE country = 'Filipina'
)

我稍微修改了你写的答案

也许这会有所帮助,因为我已经尝试过并且有效

如果您想包括菲律宾人口最多的城市,您可以更改 ( > 为 >=)

query = """
SELECT DISTINCT w.city
FROM 
      worldcity as w 
inner join
      uscity as u
on 
      w.city = u.city
WHERE w.population > (SELECT MAX(population)
                      FROM worldcity 
                      WHERE country = 'Philippines')
ORDER BY w.city
"""
sql_run(query)