Minus的作用于Union作用相反,取第一个结果集与第二个结果集的差集,两个结果集必须字段个数相等,类型相同。
例table1与table2结构相同,存在table1而不存在table2的记录 :
select * from table1
minus
select * from table2
Minus的效率比Not in要高的多,尤其是数据量大的时候。如查出尚未收费的发货单:
语句一:select billno from t_bussiness
Minus
select billno from t_Money where ifmoney = 'Y'
语句二:select billno from t_bussiness
Not in (select billno from t_Money where ifmoney = 'Y')
虽然Minus效率较高,但not in 更加灵活,无需考虑两个结果集字段匹配的问题,需要显示什么字段都可以。