我有一个关于带有空值的键的连接的问题。
假设我有一个表格t,它将在左边。(id是主键,sub_id是与右表联接的键。)
    id sub_id value
    1  3       23
    2  3       234
    3  2       245
    4  1       12
    5  null    948
    6  2       45
    7  null    12我有另一张桌子m,在右边。(t.sub_id = m.id)
    id feature
    1  9       
    2  8       
    3  2       
    4  1       
    5  4    
    6  2       
    7  null现在我想使用
    select * from t left join m on t.sub_id = m.id   它将返回什么结果?左键中的Null值会影响结果吗?我希望所有null左键行都不显示在我的结果中。
谢谢!
发布于 2018-08-01 02:30:42
left join非常简单。当on子句的计算结果为"true“时,它将保留第一个(左)表中的所有行以及第二个(右)表中的所有行。
当on子句的计算结果为"false“或NULL时,left join仍然保留第一个表中具有第二个表的NULL值的所有行。
如果sub_id或id为NULL,则on子句的计算结果为NULL,因此它使用NULL占位符保留第一个表中的所有行,第二个表中的列使用NULL占位符。
https://stackoverflow.com/questions/51619861
复制相似问题