条件数据不相等

时间:2014-04-29 15:24:03

标签: mysql sql

如何选择表t2 t2.t1_idt1.id不一致的所有记录。

SELECT * FROM t2 LEFT JOIN t1 ON t1.id <> t2.t1_id 

任何提示,链接或代码示例都很有用。

4 个答案:

答案 0 :(得分:2)

如果你想要的是t1中没有匹配id的所有t2记录,但没有来自t1的列,你可以这样做:

 Select * from t2
 WHERE t2.t1_id NOT IN(Select id from T1)

这会选择t2中的所有记录,但会根据t1_id过滤掉t1中存在的记录

答案 1 :(得分:1)

您可以使用not in

SELECT *
FROM   t2
WHERE  t2.t1_id not in (select id from t1)

答案 2 :(得分:1)

SELECT t2.* 
FROM t2 
LEFT JOIN t1 
    ON t1.id = t2.t1_id 
where t1.id is null

答案 3 :(得分:1)

只想添加,NOT EXIST在大多数情况下更好:

SELECT *
FROM   t2
WHERE  NOT EXIST (SELECT 1 FROM t1
                            WHERE t2.t1_id = t1.id)

否则,您可以使用NOT INLEFT JOIN with NULL