### 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을 반환합니다.
'개발 > Datebase' 카테고리의 다른 글
XML 파서 구문 오류 (0) | 2024.11.05 |
---|---|
MyBatis 매퍼 오류 (0) | 2024.11.03 |
SQL 오류 노트: 오류 코드 1064 (0) | 2024.10.29 |
JPA를 nativeQuery로 변경! (UNION 사용!) (0) | 2024.01.01 |
낙관적 락과 비관적 락 (0) | 2023.05.18 |