Search notes:

Oracle SQL Plan operation MINUS ALL (HASH)

create table tq84_minus_1 (val  number);
create table tq84_minus_2 (val  number);
 
begin

   insert into tq84_minus_1 values (1);

   insert into tq84_minus_1 values (2);
   insert into tq84_minus_1 values (2);

   insert into tq84_minus_1 values (3);
   insert into tq84_minus_1 values (3);
   insert into tq84_minus_1 values (3);

   insert into tq84_minus_1 values (4);
   insert into tq84_minus_1 values (4);
   insert into tq84_minus_1 values (4);
   insert into tq84_minus_1 values (4);
 
   ------------------------------------

   insert into tq84_minus_2 values (2);
   insert into tq84_minus_2 values (3);

   insert into tq84_minus_2 values (4);
   insert into tq84_minus_2 values (4);

   commit;
end;
/

explain plan for
   select val from tq84_minus_1 minus all
   select val from tq84_minus_2;

select * from dbms_xplan.display(format => 'basic');
--
-- -------------------------------------------
-- | Id  | Operation          | Name         |
-- -------------------------------------------
-- |   0 | SELECT STATEMENT   |              |
-- |   1 |  MINUS ALL HASH    |              |
-- |   2 |   TABLE ACCESS FULL| TQ84_MINUS_1 |
-- |   3 |   TABLE ACCESS FULL| TQ84_MINUS_2 |
-- -------------------------------------------

drop table tq84_minus_1;
drop table tq84_minus_2;

See also

Plan operations

Index