找出不在另外一张表的记录
作者:佚名 时间:2015-09-04
假如要查询在a表中存在,但是在b表中不存在的记录,应该如何查询。为了便于说明,我们假设a表和b表都只有一个字段id,a表中的记录为{1,2,3,4,5},b表中的记录为{2,4},那么我们需要通过一个sql查询得到{1,3,5}这样的结果集。
一般解法(效率低)
看到这个题目,我们首先想到的可能就是not in这样的关键字,具体的查询语句如下:
select ta.* from ta where ta.id not in(select tb.id from tb)
上述查询语句的查询结果集确实是{1,3,5},用navicat执行上述语句,得到如下图所示结果:
如没特殊注明,文章均为上海联楷网络原创,转载请注明来自:http://www.linksj.com/contact/20151229/n7269.html