개발자로 후회없는 삶 살기
[문법] JOIN ON과 where의 차이 본문
서론
join이 일어나는 유형에서 on과 where의 차이를 알아봅니다. 조인할 때 어떤 테이블을 먼저 검색하느냐에 따라 DB 조회 성능에 큰 영향을 주므로 잘 알아둬야 합니다.
본론
- 이너조인
테이블을 옆으로 붙이는 것을 조인이라고 합니다. emp의 fk 데이터인 deptId의 1, 3과 dept의 pk 데이터에 1, 3을 맞춰서 기준 컬럼(deptId)의 공통 속성을 통해 행이 옆으로 연결됩니다.
1. inner join + on
2. inner join + where
이너 조인은 on을 쓰나 where을 쓰나 결과가 같습니다. 조건이 있는 테이블에 먼저 조건을 수행하여 emp 테이블에서 1행을 찾고 전체 dept 테이블과 이너 조인을 하게 됩니다.
3. join + using
기준 컬럼의 이름이 같을 때 using을 쓰면 중복되는 컬럼 없이 한 개만 출력합니다.
- 아우터 조인
1. outer join + on
아우터 조인을 on과 같이 쓰면 on의 조건절인 e.empid = 1이 먼저 수행되어
emp의 1행과 dept 전체를 아우터 조인하는 개념으로 조인보다 조건절을 먼저 수행합니다.
2. outer join + where
where와 사용하면
join을 먼저 수행하여 4행이 나온 결과 테이블에 where을 수행하게 됩니다. 조인을 먼저하고 조건절을 수행합니다.
'[백엔드] > [DB | 학습기록]' 카테고리의 다른 글
[최적화] 인덱스 explain (0) | 2024.07.03 |
---|---|
DB 설계 PART.최적화와 인덱스 (0) | 2023.06.09 |
DB 설계 PART.카카오톡, 이클래스, 교보문고 ERD 설계 (0) | 2023.06.08 |
DB 설계 PART.네이버 영화 ERD 설계 (0) | 2023.06.08 |
DB 설계 PART.정규화 (0) | 2023.06.07 |
Comments