【问题标题】:Joining two tables to display data relative to each other连接两个表以显示彼此相关的数据
【发布时间】:2020-12-08 21:35:36
【问题描述】:

我是 SQL 连接类型的新手,遇到了一个非常基本的问题。

我有两张桌子:

用户表

id City
1 San Francisco
2 Moscow
3 London
4 Washington

城市表

city country
Moscow Russia
San Francisco USA
Washington USA
London England

我从 users 表中选择 id 并将其与 citys 表中的相应国家/地区相匹配。我想使用 SQL 选择语句生成下表:

id country
1 USA
2 Russia
3 England
4 USA

到目前为止,我已经写了以下内容,但我不知道从那里继续(或者这是否是一个正确的开始),因为 SQL 连接让我有点困惑。

SELECT users.city, cities.city FROM users INNER JOIN cities ON

【问题讨论】:

  • 虽然将城市名称存储在users 表中存在问题:共享相同城市名称的地方呢?对于example伦敦,肯塔基 vs. 伦敦,英格兰
  • “旧金山”的拼写在原始版本中不一致。那是 actual 错误(由错字引起)吗?如果不是,对结果有何影响?是否可以编写容错 SQL 查询?

标签: mysql sql inner-join


【解决方案1】:

这是一个简单的连接:

select u.*, c.country
from users u
inner join cities c on c.city = u.city

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    相关资源
    最近更新 更多