LEFT JOIN과 LEFT OUTER JOIN은 MySQL 및 대부분의 SQL 데이터베이스 시스템에서 동일합니다.
둘 다 왼쪽 테이블의 모든 행을 포함하며, 오른쪽 테이블에서 일치하는 행이 없을 경우 NULL로 채웁니다.
SQL 표준에서 OUTER 키워드는 선택 사항이기 때문에, **LEFT JOIN**을 사용하는 것과 **LEFT OUTER JOIN**을 사용하는 것은 기능적으로 동일합니다.
| ID | name |
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
| ID | score |
| 1 | 85 |
| 3 | 90 |
SELECT t1.id, t1.name, t2.score
FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id;
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' 을 사용하면 충분합니다.
'OUTER'를 포함해도 성능이나 동작에 영향을 미치지 않습니다.
| 기존 데이터 백업 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 |