Search notes:

Oracle SQL Plan operation HASH JOIN FULL OUTER

create table tq84_foj_a (
  id_a   number,
  txt_a  varchar2(10)
);
 
create table tq84_foj_b (
  id_b   number,
  txt_b  varchar2(10)
);
 
begin
  insert into tq84_foj_a values (1, 'abc');
  insert into tq84_foj_a values (2, 'def');
  insert into tq84_foj_a values (3, 'ghi');
 
  insert into tq84_foj_b values (2, 'FOO');
  insert into tq84_foj_b values (4, 'BAR');
end;
/
 
explain plan for
select
  coalesce(a.id_a, b.id_b) id,
  a.txt_a,
  b.txt_b
from
  tq84_foj_a a full outer join
  tq84_foj_b b                   on id_a = id_b;
 
select * from table(dbms_xplan.display(format=>'basic'));
--
-- --------------------------------------------
-- | Id  | Operation             | Name       |
-- --------------------------------------------
-- |   0 | SELECT STATEMENT      |            |
-- |   1 |  VIEW                 | VW_FOJ_0   |
-- |   2 |   HASH JOIN FULL OUTER|            |
-- |   3 |    TABLE ACCESS FULL  | TQ84_FOJ_B |
-- |   4 |    TABLE ACCESS FULL  | TQ84_FOJ_A |
-- --------------------------------------------
 
drop table tq84_foj_a purge;
drop table tq84_foj_b purge;

See also

Plan operations

Index