sql >> Database teknologi >  >> RDS >> Sqlserver

LEFT JOIN vs. LEFT OUTER JOIN i SQL Server

I henhold til dokumentationen:FRA (Transact-SQL):

<join_type> ::= 
    [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
    JOIN

Søgeordet OUTER er markeret som valgfri (omgivet af firkantede parenteser). I dette specifikke tilfælde, om du angiver OUTER eller ej gør ingen forskel. Bemærk, at mens de andre elementer i join-klausulen også er markeret som valgfrie, hvilket efterlader dem ud vil gøre en forskel.

For eksempel hele typedelen af ​​JOIN klausul er valgfri, i hvilket tilfælde standarden er INNER hvis du bare angiver JOIN . Dette er med andre ord lovligt:

SELECT *
FROM A JOIN B ON A.X = B.Y

Her er en liste over tilsvarende syntakser:

A LEFT JOIN B            A LEFT OUTER JOIN B
A RIGHT JOIN B           A RIGHT OUTER JOIN B
A FULL JOIN B            A FULL OUTER JOIN B
A INNER JOIN B           A JOIN B

Tag også et kig på det svar, jeg efterlod på dette andet SO-spørgsmål:SQL left join vs multiple tables on FROM line?.



  1. PostgreSQL brugergruppe NL

  2. PHP mysql søg i flere tabeller ved hjælp af et nøgleord

  3. Eksporter data fra SQL Server til Excel og tekstfil via SSIS-pakken

  4. Fuldstændig afinstallere PostgreSQL 9.0.4 fra Mac OSX Lion?