我需要查询我的数据库,其中一个表的唯一字段存在于另一个表中,并且使用此我需要仅获取第二个表中表格行中没有匹配字段的记录,用于表1中的记录。
答案 0 :(得分:1)
SELECT * FROM SECOND TABLE WHERE COLUMN_ID NOT IN(SELECT COLUMN_ID FROM FIRST TABLE);
了解更多关于NOT IN的信息:
答案 1 :(得分:0)
试试这个:
在一个表中查找不存在于另一个表中的记录或
NOT IN,LEFT JOIN和NOT EXISTS之间的区别。
SELECT a.i
FROM tableA AS a
WHERE a.i NOT IN (SELECT b.j FROM tableB AS b) OR a.i IS NULL
----------OR There are at least three other ways to do this, which all are much more efficient!
SELECT a.i FROM tableA AS a
WHERE a.i NOT IN (SELECT b.j FROM tableB AS b)
UNION ALL
SELECT a.i
FROM tableA AS a
WHERE a.i IS NULL
----------OR
SELECT a.i
FROM tableA AS a
LEFT JOIN tableB AS b ON b.j = a.i
WHERE b.j IS NULL
----------OR
SELECT a.i
FROM tableA AS a
WHERE NOT EXISTS (SELECT * FROM tableB AS b WHERE b.j = a.i)