如何选择表t2
t2.t1_id
与t1.id
不一致的所有记录。
SELECT * FROM t2 LEFT JOIN t1 ON t1.id <> t2.t1_id
任何提示,链接或代码示例都很有用。
答案 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 IN
或LEFT JOIN with NULL