为什么我们在LEFT JOIN中有OUTER子句?

cod*_*biz 2 mysql sql sql-server join

下面两个查询之间有什么区别

UPDATE

这个问题已在类似的问题中得到解答,这里有LEFT JOIN和LEFT OUTER JOIN在SQL Server中.

SELECT * FROM ca 
LEFT JOIN exam 
ON ca.subject = exam.subject
Run Code Online (Sandbox Code Playgroud)

SELECT * FROM ca 
LEFT OUTER JOIN exam 
ON ca.subject = exam.subject
Run Code Online (Sandbox Code Playgroud)

Table 'CA'
--------------------
subject|score
----------------
ENG    |25
MTH    |34
BIO    |18


Table 'Exam'
--------------------
subject|score
----------------
ENG    |25
Run Code Online (Sandbox Code Playgroud)

运行2个查询会在mysql,sqlserver 2008中产生相同的结果.我没有在Oracle中测试.

subject | score1 | subject | score1
--------------------------------------
ENG       14       ENG       44
MTH       28       NULL      NULL
BIO       22       NULL      NULL
Run Code Online (Sandbox Code Playgroud)

OUTER子句的目的是什么?

Smi*_*Smi 8

没有区别.该OUTER关键字是可选的.