Oracle outerjoin - need to understand how it works -
consider next commands:
create table t1 ( column1 number(10,2), column2 number(10, 2), column3 number(10, 2) ); create table t2 ( column1 number(10,2), column2 number(10, 2), column3 number(10, 2), column4 number(10, 2) ); create table t3 ( column1 number(10, 2) ); insert t1 values (1, 2, 3); insert t1 values (4, 5, 6); insert t1 values (7, 8, 9); insert t1 values (10, 11, 12); insert t1 values (13, 14, 15); insert t1 values (16, 17, 18); insert t2 values (21, 22, 23, 1); insert t2 values (24, 25, 26, 1); insert t2 values (27, 28, 29, 1); insert t3 values (1); insert t3 values (4); insert t3 values (7); insert t3 values (10); insert t3 values (13); insert t3 values (16); insert t3 values (21); insert t3 values (24); insert t3 values (27); select * t1; select * t2; select * t3; select t1.* t1, t2, t3 t1.column1 = 16 , t2.column1= 24 , (t1.column1 = t3.column1 or t2.column1 = t3.column1); result: column1 column2 column3 16 17 18 16 17 18 select t1.* t1, t2, t3 t31, t3 t32 t1.column1 = 16 , t2.column1= 24 , t1.column1 = t31.column1 (+) , t2.column1 = t32.column1 (+) ; result: column1 column2 column3 16 17 18
questions: 1. why query2 returns 1 row? 2. need understand internals of how query executed , why returns 1 row? 3. please help me understand this.
oracle
No comments:
Post a Comment