sql高效查询两表之间不同的数据
·
本文推荐三种方法,第三种为最高效
1.使用not in 结合 distinct
SELECT DISTINCT a.id FROM a WHERE a.id NOT in(SELECT id FROM b)
2.使用left join做关联查询且条件为关联表的id is null
SELECT * from a LEFT JOIN b ON a.id = b.id WHERE b.id IS NULL
3.充分利用count函数,若子查询的结果不为0,则表明该Id存在1条或多条,不会查询出此条记录,最高效!
select * from b where (select count(1) from a where a.ID = b.ID) = 0
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)