본문 바로가기

IT/DB

left join 과 left outer join 차이는?

728x90
반응형

 

 

 

LEFT JOIN과 LEFT OUTER JOIN은 MySQL 및 대부분의 SQL 데이터베이스 시스템에서 동일합니다.

 

둘 다 왼쪽 테이블의 모든 행을 포함하며, 오른쪽 테이블에서 일치하는 행이 없을 경우 NULL로 채웁니다.

 

 

차이점

  • LEFT JOIN: 표준 SQL에서 사용되는 약칭.
  • LEFT OUTER JOIN: 더 명시적으로 표현한 형태.

SQL 표준에서 OUTER 키워드는 선택 사항이기 때문에, **LEFT JOIN**을 사용하는 것과 **LEFT OUTER JOIN**을 사용하는 것은 기능적으로 동일합니다.


 

예시

 

테이블 1 (table1)

ID name
1 Alice
2 Bob
3 Charlie

 

테이블 2 (table2)

ID score
1 85
3 90

LEFT JOIN

SELECT t1.id, t1.name, t2.score 
FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id;

 

LEFT OUTER JOIN

SELECT t1.id, t1.name, t2.score 
FROM table1 t1 LEFT OUTER JOIN table2 t2 ON t1.id = t2.id;

 

 

결과 (두 쿼리 동일):

 

ID name score
1 Alice 85
2 Bob NULL
3 Charlie 90

 

언제 사용하나?

  • LEFT JOIN: 더 짧고 간결한 표현을 원할 때 주로 사용.
  • LEFT OUTER JOIN: 명확하게 "OUTER JOIN"임을 나타내고 싶을 때 사용.

대부분의 상황에서 'LEFT JOIN' 을 사용하면 충분합니다.

 

'OUTER'를 포함해도 성능이나 동작에 영향을 미치지 않습니다.

 

728x90
반응형