I came across 1 query which is
Select * from R Natural Outer Join S
Where R=(A,B) has tuples {(1,2),(1,2),(3,4)} and S=(B,C) has tuples {(2,5),(2,5),(4,6),(7,10)}.
To implement this I created 2 relations named R and S.
create table R
(
A number(5),
B number(5)
)
create table S
(
B number(5),
C number(5)
)
And I inserted the provided tuples in it.
Now while implementing this I came to know that "Natural Outer Join" is not supported by the Database tool that I am using (Oracle) so I used the following query
select *
from R
natural full outer join S
output
2 1 5
2 1 5
2 1 5
2 1 5
4 3 6
7 10
Now coming to my question
- Is "Natural outer join" same as "Natural full outer join"?
- How the matching of records are being done here?
Because there is no primary key defined in any of the tables I think it should do cross join and display 16 records which is not the case.
It would be very helpful if anyone can explain this behavior to me.

RnorSis a relation! – onedaywhen Oct 18 '11 at 13:26