本文主要是介绍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倍
这篇关于MINUS使用方法(sql优化)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!