【问题标题】:Joining two tables without filtering the data on the basis of joining condition连接两个表而不根据连接条件过滤数据
【发布时间】:2017-11-30 14:05:57
【问题描述】:

我有两个表 Table1 和 Table2

表 1:

ID1 |   C1  |   C2  |   C3
1   |   a   |   b   |   c
2   |   d   |   e   |   f
3   |   g   |   h   |   i

表 2:

ID2 |   C4  |   C5  |   C6
2   |   k   |   l   |   m

我想加入表一和表二得到如下结果:

ID1 |   C1  |   C2  |   C3  |   C4  |   C5  |   C6
1   |   a   |   b   |   c   |   -   |   -   |   -
2   |   d   |   e   |   f   |   k   |   l   |   m
3   |   g   |   h   |   i   |   -   |   -   |   -

这两个表在条件ID1=ID2 下被连接,当这个条件不成立时,表2 中的其余列应自动为null。结果中的总列数应始终等于表 1 中的列数。表1中的ID是表2中ID的超集。我应该使用什么样的join和join条件?

【问题讨论】:

标签: mysql sql sql-server join


【解决方案1】:

假设首先使用第一个表的左外连接。上面的 SQL 语法是:

SELECT * 
FROM Table1  
LEFT JOIN Table2 On Table1.ID1=Table2.ID2

【讨论】:

    猜你喜欢
    • 2016-11-18
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2015-12-29
    • 1970-01-01
    • 2021-07-25
    相关资源
    最近更新 更多