Julian Einwag - rockenstein AG <jein...@rockenstein.de> writes: > So basically the following in ANSI syntax would be equivalent:
> select web_customer.id, web_contact.id > from web_customer left join web_contact on web_customer.id = web_contact.id > and 1 = web_contact.id I've never been perfectly clear about how Oracle's syntax works either :-) So if you were to leave off the (+) on that WHERE condition, it would be equivalent to putting the condition into WHERE instead of JOIN/ON in ANSI syntax, correct? Also, at least in Postgres, the result of doing the latter would be that you didn't get an outer join at all: the optimizer would conclude that no null-extended row could get past the WHERE clause, so it would reduce the left join to a plain join. I assume Oracle's optimizer knows that too. So you need to (+)-mark *every* clause involving variables from the inner side of the intended left join, or it won't work as desired. Seems like a bit of a foot-gun ... regards, tom lane _______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel