MINUS使用方法(sql优化)

查A表

select t.* from test_a t;

这里写图片描述
查B表

select t.* from test_b t;

这里写图片描述

要比较A和B的差异 两个逻辑 B在A中没有的数据就是name:A,B ,语法:

select name from TEST_A minus select name from TEST_B ;

结果集:
这里写图片描述
另一个逻辑,B比A多的数据,就是A中没有的数据,语法:

select name from TEST_B minus select name from TEST_A ;

结果集:
这里写图片描述
minus 语法对于对比一个字段的差异(增加或减少)的数据的比较特别实用,但是如果
select id,name from TEST_A minus select id,name from TEST_B ;像这样我们查了两个字段,就是指这两个字段都不一样的
这里写图片描述
查出就是这样的形式 A表的5条数据都是和B表不一样的(id和name对应不一样),所以A表都会查出来,相反我们调换AB表的位置

select id,name from TEST_B minus select id,name from TEST_A;

这里写图片描述
查出的自然是B表的所有


问题来了:为什么我们不用in ,not in 或者exists,not exists?

慢!!!!!!慢!!!!!!!!!!

in花费的时间 对比用 minus 的速度是 minus 的 15倍


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部