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
반응형
'IT > DB' 카테고리의 다른 글
기존 데이터 백업 insert 쿼리 만드는 방법 (1) | 2024.12.07 |
---|---|
데이터 삭제 delete와 truncate 차이는? (0) | 2024.12.07 |
MySQL SQL 오류코드 Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar (1) | 2024.12.05 |
AND EXISTS (SELECT 1 FROM 테이블) 쿼리 조건 뜻? (0) | 2024.12.04 |
group by a, group by a,b 차이 (0) | 2024.12.03 |