DB관련/SQL Server

[중요] Left join and Left outer join in SQL Server

saltdoll 2015. 11. 12. 07:41
반응형

항상 사용할 때마다 헷갈리게 하는 부분이 조인이다.

기본적으로 조인은 중복에 대한 내용을 사용할때, 많이 사용한다.

그러나,  RIGHT JOIN 도 생각보다 많이  사용되는 패턴이다.

간단히 정리된 내용을 메모해 둔다.

 

(default) 기본 JOIN의 은 INNER조인입니다. 

INNER조인 = 중복된 값만 나타내는 것을 의미합니다.

LEFT 조인 = 왼쪽 테이블에 있는 항목에 맞춰서 값을 가져옴 
( from A left join B on A.a=B.a /* A테이블 기준으로 B테이블 값가져온다*/ )

 

 

 

As per the documentation: FROM (Transact-SQL):

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

The keyword OUTER is marked as optional (enclosed in square brackets), and what this means in this case is that whether you specify it or not makes no difference. Note that while the other elements of the join clause is also marked as optional, leaving them out will of course make a difference.

For instance, the entire type-part of the JOIN clause is optional, in which case the default is INNER if you just specify JOIN. In other words, this is legal: (기본 JOIN은 INNER 조인)

 

 

기본적인 조인 쿼리 방법

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

Here's a list of equivalent syntaxes:

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

Also take a look at the answer I left on this other SO question: SQL left join vs multiple tables on FROM line?.

 

 

 

 

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)