Performs a merge semi join between two row sources
This operation is implemented in the following versions
|
Columns do not need NOT NULL constraints.
This example was developed using Oracle 9.2.0.1 on Windows 2000
This example requires the following table definition
CREATE TABLE t1 (c1 NUMBER,c2 NUMBER); CREATE TABLE t2 (c1 NUMBER,c2 NUMBER);
The table does not need to be analysed
The statement
SELECT c2 FROM t1 WHERE EXISTS ( SELECT /*+ MERGE_SJ */ c1 FROM t2 WHERE t1.c1 = t2.c1 );
generates the following execution plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 MERGE JOIN (SEMI) 2 1 SORT (JOIN) 3 2 TABLE ACCESS (FULL) OF 'T1' 4 1 SORT (UNIQUE) 5 4 TABLE ACCESS (FULL) OF 'T2'