I have three tables like the following :
SQL> SELECT * FROM tab1;
C1 C2 C3
---------- ---------- ----------
1 one 123
2 two 234
3 three 345
4 four 456
5 five 567
5 rows selected.
SQL> SELECT * FROM tab2;
C1 C2 C4
---------- ---------- ----------
7 seven 789
2 two 344
3 three 654
4 four 543
5 five 253
6 six 756
6 rows selected.
SQL> SELECT * FROM tab3;
C1 C2 C5
---------- ---------- ----------
8 eight 789
3 two 244
3 three 654
4 four 543
5 five 353
9 nine 756
6 rows selected.
Now I run the following queries ,
SELECT * FROM tab1 CROSS JOIN tab2 CROSS JOIN tab3 WHERE ROWNUM < 3 ;
C1 C2 C3 C1 C2 C4 C1 C2
C5
---------- ---------- ---------- ---------- ---------- ----------
----------
1 one 123 7 seven 789 8 eight
789
1 one 123 7 seven 789 3 two
244
SELECT * FROM tab1 CROSS JOIN tab2 CROSS JOIN tab3 WHERE ROWNUM = 1 or
ROWNUM = 2;
C1 C2 C3 C1 C2 C4 C1 C2 C5
------- ---------- ---------- ---------- ---------- ----------
1 one 123 7 seven 789 8 eight 789
2 two 234 7 seven 789 8 eight 789
SELECT * FROM tab1 CROSS JOIN tab2 CROSS JOIN tab3 WHERE ROWNUM <= 2;
C1 C2 C3 C1 C2 C4 C1 C2
C5
---------- ---------- ---------- ---------- ---------- ----------
----------
1 one 123 7 seven 789 8 eight
789
1 one 123 7 seven 789 3 two
244
Iam bit confused with all the above outputs as the WHERE clause for
all the above statements looks similar, but the output is not as per
my expectation.
Can anyone help me understand on what basis are we getting the above
outputs.
TIA