Outer Joins

  • Comments posted to this topic are about the item Outer Joins

  • *= or

    =*

    Have been depricated since SQL 2005? long time ago ....

    They were part of MS dialect of T-SQL, not compliant with Standard, so they had to go

    MCSE Data Platform; BI
    MCITP Database Developer; BI

  • ahhh reminded me of migration from 2000 to 2005. All old school queries were needed to fixed at that point of time.

    Thanks for the reminding Steve.

  • I'm reassured that I've been writing them correctly for many years now.

    -------------------------------Posting Data Etiquette - Jeff Moden [/url]Smart way to ask a question
    There are naive questions, tedious questions, ill-phrased questions, questions put after inadequate self-criticism. But every question is a cry to understand (the world). There is no such thing as a dumb question. ― Carl Sagan
    I would never join a club that would allow me as a member - Groucho Marx

  • I want to verify what I think is the conclusion with this code. Is the ANSI-89 syntax for joining tables deprecated or just the *= operators. I know it is the incorrect way of writing the code, but will SQL 2014 still recognize the following code. (I ask because I just had a customer ask me this on Tuesday.)

    FROM table1, table2

    WHERE table1.column = table2.column

  • JohnDeardurff (12/17/2015)


    I want to verify what I think is the conclusion with this code. Is the ANSI-89 syntax for joining tables deprecated or just the *= operators. I know it is the incorrect way of writing the code, but will SQL 2014 still recognize the following code. (I ask because I just had a customer ask me this on Tuesday.)

    FROM table1, table2

    WHERE table1.column = table2.column

    The ANSI syntax for inline table joining is still supported (though I personally recommend against using it).

    The only thing that has been deprecated since, I think, SQL Server 7; and actually removed from the product in 2008 or so, is the =* / *= notation for inlined outer joins (which has never been part of ANSI; it was a T-SQL specific language element)


    Hugo Kornelis, SQL Server/Data Platform MVP (2006-2016)
    Visit my SQL Server blog: https://sqlserverfast.com/blog/
    SQL Server Execution Plan Reference: https://sqlserverfast.com/epr/

  • So glad they removed this.

    Oracle has something similar.

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • I'd forgotten that nonsense from years ago - good riddance to it.

  • Nice question. I agree with the majority here (thus far) in not liking or using the old-school conventions. They have more work to do in getting rid of the rest of it, but are probably hesitant to do so because I'm sure there's old code out there that will break when they remove it.

  • Aaah... As soon as I clicked it, I knew it's going to be wrong. Now that it is historical...

    But love being back on SSC...

  • I have never been so glad to get a question wrong.

    Having never seen the WHERE *= syntax before, I assumed it was a new thing and picked what I thought would make sense from context, knowing full well that such behavior would be non-standard and antithetical to the principle of using JOINs.

    Fortunately I assumed wrong, and Microsoft is moving in the right direction here.

  • I knew it was deprecated and removed, still, I wanted to look it up on BOL. I didn't know there was a *= operator in programming languages now! I knew about += and ++, didn't know they did *=.

    Learn sumthin' new every day I guess. 😀

    -----
    [font="Arial"]Knowledge is of two kinds. We know a subject ourselves or we know where we can find information upon it. --Samuel Johnson[/font]

  • Very glad that this syntax is finally gone. I had to convert a bunch of queries from using this syntax a few years ago and I still cringe when I see this syntax being used in Oracle.

  • I'm new enough to SQL server I did not even know this syntax. I thought it might be a typo, but I looked it up just in case. I was ready to give the right wrong answer (treat it as a LOJ) until I saw 2014 specified in the question. At that point I realized it must have been removed, and selected error, and got it right.

  • At no point does the question mention a SQL version....unless i missed something, or are we to assume all questions are using the latest version(s)?,

    Ta:Whistling:

    ---------------------------------------------------------------------------------------
    The more you know, the more you know that you dont know

Viewing 15 posts - 1 through 15 (of 22 total)

You must be logged in to reply to this topic. Login to reply