sql >> Databáze >  >> RDS >> Sqlserver

LEFT JOIN vs. LEFT OUTER JOIN v SQL Server

Podle dokumentace:FROM (Transact-SQL):

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

Klíčové slovo OUTER je označeno jako nepovinné (v hranatých závorkách). V tomto konkrétním případě, zda zadáte OUTER nebo ne na tom nezáleží. Všimněte si, že zatímco ostatní prvky klauzule spojení jsou také označeny jako volitelné, je ponechány ven bude něco změnit.

Například celá typová část JOIN klauzule je volitelná, v takovém případě je výchozí hodnota INNER stačí zadat JOIN . Jinými slovy, toto je legální:

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

Zde je seznam ekvivalentních syntaxí:

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

Podívejte se také na odpověď, kterou jsem nechal na tuto další otázku SO:SQL levé spojení vs více tabulek na řádku FROM?.



  1. Jak použít typ tabulky v příkazu SELECT FROM?

  2. Příkaz ALTER TABLE byl v konfliktu s omezením CHECK v SQL Server - SQL Server / Výukový program TSQL, část 89

  3. Jak nainstalovat MySQL pomocí phpMyAdmin na Ubuntu 14.04

  4. Výukový program SQL JOINs s příklady