JOIN (INNER JOIN)과 LEFT JOIN (LEFT OUTER JOIN)
### JOIN (INNER JOIN)
- **정의**: 두 테이블 간의 공통된 값이 있는 행만 반환합니다.
- **작동 방식**: 두 테이블에서 조인 조건을 만족하는 행이 존재하는 경우에만 결과에 포함됩니다.
- **예시**:
sql
`SELECT * FROM table1 t1 JOIN table2 t2 ON t1.id = t2.table1_id;`
- 이 쿼리는 `table1`과 `table2`에서 `id`와 `table1_id`가 일치하는 행만 반환합니다.
### LEFT JOIN (LEFT OUTER JOIN)
- **정의**: 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환하며, 오른쪽 테이블에 일치하는 행이 없으면 NULL로 채워진 결과를 반환합니다.
- **작동 방식**: 왼쪽 테이블의 모든 행이 결과에 포함되며, 오른쪽 테이블에서 조인 조건을 만족하는 행이 없는 경우 NULL이 반환됩니다.
- **예시**:
sql
`SELECT * FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.table1_id;`
- 이 쿼리는 `table1`의 모든 행을 반환하고, `table2`에서 일치하는 행이 없으면 해당 컬럼에 NULL이 들어갑니다.
### 요약
- `JOIN`(INNER JOIN)은 두 테이블에서 일치하는 행만 반환하며, `LEFT JOIN`은 왼쪽 테이블의 모든 행을 반환하고 오른쪽 테이블에서 일치하는 행이 없을 경우 NULL을 반환합니다.