Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

LEFT JOIN vs. LEFT JOIN w SQL Server

Zgodnie z dokumentacją:OD (Transact-SQL):

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

Słowo kluczowe OUTER jest oznaczony jako opcjonalny (ujęty w nawiasy kwadratowe). W tym konkretnym przypadku, czy określisz OUTER czy nie, nie ma znaczenia. Zauważ, że chociaż inne elementy klauzuli join są również oznaczone jako opcjonalne, pozostawiając je się będzie zrobić różnicę.

Na przykład cała część typu JOIN klauzula jest opcjonalna, w takim przypadku wartością domyślną jest INNER jeśli po prostu określisz JOIN . Innymi słowy, jest to legalne:

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

Oto lista równoważnych składni:

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

Spójrz także na odpowiedź, którą zostawiłem na to inne pytanie SO:SQL left join a wiele tabel w linii FROM?.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz krótką nazwę dnia w SQL Server (T-SQL)

  2. Jak wyświetlić listę dostępnych wystąpień SQL Server przy użyciu SMO w C#?

  3. Nie można połączyć się z serwerem — błąd związany z siecią lub specyficzny dla instancji

  4. Czy kolejność Sql JOIN wpływa na wydajność?

  5. Najszybszy sposób na wielokrotne uruchamianie tego samego zapytania w SQL Server