使用外键SQL查询联接两个表并选择一行

使用外键SQL查询联接两个表并选择一行,sql,Sql,我有两个表城市和国家。我正在使用查询 SELECT * FROM citiesTable WHERE cityName LIKE 'F%' LIMIT 30 每个cityName都在country表中使用外键连接各自的国家/地区 我想选择每个城市和他们各自的国家,比如阿富汗的法扎巴德。我应该使用哪个查询?由于我是SQL的新手,请提及我必须使用连接查询 SELECT * FROM citiesTable, country WHERE country.country_id = citie

我有两个表
城市
国家
。我正在使用查询

SELECT * 
FROM citiesTable 
WHERE cityName LIKE 'F%' 
LIMIT 30
每个
cityName
都在
country
表中使用外键连接各自的国家/地区

我想选择每个城市和他们各自的国家,比如阿富汗的法扎巴德。我应该使用哪个查询?由于我是SQL的新手,请提及我必须使用连接查询

SELECT * 
FROM citiesTable, country 
WHERE country.country_id = citiesTable.country_id 
  AND cityName LIKE 'F%' LIMIT 30 
请尝试以下查询:

SELECT * 
FROM CitiesTable a, Country b 
WHERE a.country_id = b.id 
  AND a.cityName LIKE 'F%' 
LIMIT 30

最好使用左联接来获取所有城市表数据

select city.*, ctry.countryName 
from citytable city 
left join country ctry on city.countryid = ctry.countryid

使用join query实现您的目标请避免使用图像来描述数据。用简明的文本形式描述您的数据库,以便在有人希望重新创建场景时可以对其进行复制和粘贴。好的,谢谢,我将删除该图像-在ANSI-92 SQL标准(20多年前)中,旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代不鼓励使用它——在ANSI-92 SQL标准(20多年前)中,旧式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,不鼓励使用它感谢您的建议