select nbr_ssn from data_exch.t_exch_data_header d left join data_exch.t_exch_match_header m on d.idn_header_data_exch = m.idn_header_data_exch; Operation Name Rows Bytes Cost CPU Cost IO Cost SELECT STATEMENT 35M 640M 113506 16G 112293 HASH JOIN RIGHT OUTER 35M 640M 113506 16G 112293 INDEX FAST FULL SCAN PK_T_EXCH_MATCH_HEADER 1752K 10M 1722 251M 1703 PARTITION HASH ALL 35M 438M 61548 8G 60932 TABLE ACCESS FULL T_EXCH_DATA_HEADER 35M 438M 61548 8G 60932 select nbr_ssn from data_exch.t_exch_data_header d inner join data_exch.t_exch_match_header m on d.idn_header_data_exch = m.idn_header_data_exch union all select nbr_ssn from data_exch.t_exch_data_header d where not exists ( select * from data_exch.t_exch_match_header m where d.idn_header_data_exch = m.idn_header_data_exch ); Operation Name Rows Bytes Cost CPU Cost IO Cost SELECT STATEMENT 35M 641M 227011 16G 112293 UNION-ALL HASH JOIN 1752K 31M 113506 16G 112293 INDEX FAST FULL SCAN PK_T_EXCH_MATCH_HEAD 1752K 10M 1722 251M 1703 PARTITION HASH ALL 35M 438M 61548 8G 60932 TABLE ACCESS FULL T_EXCH_DATA_HEADER 35M 438M 61548 8G 60932 HASH JOIN RIGHT ANTI 33M 609M 113506 16G 112293 INDEX FAST FULL SCAN PK_T_EXCH_MATCH_HEAD 1752K 10M 1722 251M 1703 PARTITION HASH ALL 35M 438M 61548 8G 60932 TABLE ACCESS FULL T_EXCH_DATA_HEADER 35M 438M 61548 8G 60932