Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

LEFT JOIN срещу LEFT OUTER JOIN в SQL Server

Съгласно документацията:FROM (Transact-SQL):

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

Ключовата дума OUTER е маркиран като незадължителен (заключен в квадратни скоби). В този конкретен случай, дали сте посочили OUTER или не няма разлика. Имайте предвид, че докато другите елементи на клаузата за присъединяване също са маркирани като незадължителни, оставяйки ги вън ще направи разлика.

Например, цялата част от типа на JOIN клаузата не е задължителна, като в този случай по подразбиране е INNER ако просто посочите JOIN . С други думи, това е законно:

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

Ето списък с еквивалентни синтаксиси:

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

Вижте също отговора, който оставих на този друг въпрос SO:SQL ляво присъединяване срещу множество таблици на линия 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. Предаване на varchar, пълен със стойности, разделени със запетая, към функция на SQL Server IN

  2. Конфигуриране на AlwaysOn Availability Groups на SQL Server

  3. Използване на Excel VBA за изпълнение на SQL заявка

  4. Предотвратяване на SQL инжектиране в ASP.Net

  5. Запознаване с вашето работно натоварване на SQL Server