【问题标题】:Collecting data from two tables when one value is not part of the second table当一个值不属于第二个表时从两个表中收集数据
【发布时间】:2020-09-03 11:06:57
【问题描述】:

我正在学习 sql 和外键。 我现在遇到了一个我不知道如何进行的任务。

说明: 任务是收集table1的name_id、name、lastname和table2的game_id和game(见下表)。

问题: 我会使用 name_id 使用“WHERE table1.name_id = table2.name_id”从两个表中收集数据,但在该过程中 name_id 3 不会出现,因为它与 table2 没有连接。

代码将显示为缺少 name_id 3。

1       | name1| lastname1
2       | name2| lastname2

最佳结果

1       | name1| lastname1| 1| game1
2       | name2| lastname2| 2| game2
3       | name3| lastname3

问题: 我如何收集这个值?是逻辑问题还是我应该使用 JOIN 将它们放在一起?

table1
name_id | name | lastname
1       | name1| lastname1
2       | name2| lastname2
3       | name3| lastname3

table2
game_id | game | name_id
1       | game1| 1
2       | game2| 2

谢谢!

【问题讨论】:

  • 你试过用左外连接吗?
  • 嘿!是的,我试过了,但它不能正确地对信息进行排序。

标签: sql sqlite


【解决方案1】:

你想要一个left join

select *
from table1 t1 left join
     table2 t2
     using (name_id);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    • 2020-04-08
    相关资源
    最近更新 更多