使用外键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多年前)中,旧式的逗号分隔表列表样式被正确的ANSIJOIN
语法所取代,不鼓励使用它感谢您的建议