如何查找SQL Server中Table1.workgroup无Table2.id对应记录的数据
解决方案
要找出Table1中workgroup在Table2里无对应id的记录,有两种常用的SQL写法:
方法一:LEFT JOIN + IS NULL
通过左连接保留Table1的所有记录,筛选出Table2中无匹配的条目:
SELECT t1.* FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.workgroup = t2.id WHERE t2.id IS NULL;
方法二:NOT EXISTS
直接检查Table2中是否不存在匹配的id,返回符合条件的Table1记录:
SELECT t1.* FROM Table1 t1 WHERE NOT EXISTS ( SELECT 1 FROM Table2 t2 WHERE t2.id = t1.workgroup );
注:你提供的示例数据里,所有Table1的workgroup都能在Table2找到对应id,因此执行以上语句不会返回结果。如果存在不匹配的数据,这两个语句会准确筛选出目标记录。
内容的提问来源于stack exchange,提问作者deskFan
相关产品推荐
相关产品推荐

