OUTER JOIN non-bug
Posted in 1995
>And it is very irritating not to have a succinct reproduction of the problem, >because everyone is working in the dark. > : > : >The way Informix OUTER joins work means that if there is a row in TableA >which joins with a row in TableB for which the condition on B.Column02 is >false, then the row from TableA is still selected, albeit with NULL for the >B.Column01 value. > : > [example deleted] > : >I personally regard this as a documented bug because I think the following >pair of queries should be equivalent to that above, but they produce a >different answer -- the row in TableA is not selected with the double query. > : > [example deleted] > : >However, this is the way that Informix has chosen to document that its >OUTER joins behave, and the behaviour is correct within that definition. >It doesn't necessarily conform to SQL-92, as I said above (it almost >certainly doesn't), but within the definition of Informix OUTER joins, the >behaviour is correct. > : > : >Yours, >Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> I think this all started because someone got burned due to the fact that Informix doesn't return rows the same as Oracle does. (Never under estimate the importance of testing your code.) Does anyone out there KNOW what the SQL-92 rules for OUTER JOIN is? Is it so sketchy that both Informix and Oracle comply and still return different rows? This could lead to a problem with client/server applications that access multiple databases. This thread has been going on for quite awhile but I'd like to see it continue: there is a real issue here. As far as OUTER JOIN working the way it is documented, I'd have to say "Yes. It does work correctly." We have about 2400 stores running over a million lines of 4GL code, 24 hours a day, 7 days a week. We run into obscure problems every day. I have looked through support logs and resolution reports, and have found NO instances of a problem with the OUTER JOIN. || ======= **** **T* ======= ||John Regep || **** **** ||Store Systems Developement || **** *R** ||Kmart Corporation || =========== ********* =========== ||3100 West Big Beaver || ***A* **** ||Troy, MI 48084 || **** **** ||(810) 643-5078 ||=============== *M** **** ===============||uunet!kmart!jregep