Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> outer join precedence

outer join precedence

From: Yucheng SHA <yucheng.sha_at_netcourrier.com>
Date: Sat, 15 Dec 2001 13:55:31 +0100
Message-ID: <9vct0d$rub$1@s1.read.news.oleane.net>

I have asked a question in Microsoft new group :

// I tried a cascade outer join by the following query :
//
// select U.userid, u.name , i.itemno , b.bid
// from users u, items i , bids b
// where u.userid *= i.offered_by and
// i.itemno *= b.itemno
// ;
//
// and I got this error messsage :
//
// Server: Msg 301, Level 16, State 1, Line 1
// Query contains an outer-join request that is not permitted.
//
// SQL Server do not support cascade outer join ?

and I have have a answer :

// Using the *= or the =* join operator, you can't use a single
column as both an inner and an outer member. The problem has to do with getting different results based on join precedence.
//
// The correct way to do it is using the SQL-92 LEFT JOIN syntax,
like:
//
// SELECT u.userid, u.nam, i.itemno, b.bid
// FROM bids AS b
// LEFT JOIN items AS i
// ON (i.itemno = b.itemno)
// LEFT JOIN [users] AS u
// ON (u.userid = i.offered_by)
// ;

In oracle SQL-92 LEFT JOIN syntax is not supportted , how does oracle decide
the join precedence ? is there the problem of "different results" in oracle ?

tia
.com Received on Sat Dec 15 2001 - 06:55:31 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US