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