読者です 読者をやめる 読者になる 読者になる

JOINするときにINNER or LEFT or RIGHT or FULLを省略するとどうなるだっけ?

T-SQL SQLServer

他人が書いた変更対象のソースコード

SELECT a,b FROM AAA JOIN BBB ON b = a

みたいなのが出てきて思考停止。普段は明示的にINNER or LEFT or RIGHT or FULLを書いているのでどの扱いになるのかまるで判らない。調べようとしてもうまくぐぐれない。orz

なのでやってみた。INNER JOINと同じだった。

もともと

JOINのディフォルトが内部結合なのでINNERが省略可能で、左外部結合・右外部結合・完全外部結合のときにOUTERが省略可能なんだよな。

SELECT a,b FROM AAA       INNER JOIN BBB ON b = a
                          ----- 省略可能
SELECT a,b FROM AAA LEFT  OUTER JOIN BBB ON b = a
                          ----- 省略可能
SELECT a,b FROM AAA RIGHT OUTER JOIN BBB ON b = a
                          ----- 省略可能
SELECT a,b FROM AAA FULL  OUTER JOIN BBB ON b = a
                          ----- 省略可能

こちらで再履修↓
http://msdn.microsoft.com/ja-jp/library/aa213228.aspx