我想要这样一个查询,它返回表1 jointest1中的所有行以及与表2 jointest2匹配连接条件的行,但jointest2中的重复行除外
加入后的表格应该是
查询将像
SELECT * FROM jointest1 LEFT JOIN jointest2 ON jointest1.id=jointest2.j1_id WHERE jointest2.id NOT IN ( 2 )
但是当我添加WHERE jointest2.id NOT IN ( 2 )
时左连接不起作用,它只返回jointest1.id=jointest2.j1_id and NOT IN ( 2 )
提前感谢您的帮助
答案 0 :(得分:0)
left join
工作正常。如果 second 表中有条件,则需要进入on
子句:
SELECT *
FROM jointest1 LEFT JOIN
jointest2
ON jointest1.id = jointest2.j1_id AND
jointest2.id NOT IN ( 2 );
否则,条件(偶NOT IN
)将返回NULL
,将LEFT JOIN
变为INNER JOIN
。