본문 바로가기
DB/sql

Join 간단개념정리 952's 접근

by 952_hi 2022. 5. 9.

JOIN 
둘이상의 테이블에서 데이터가 필요한 경우 조인이 필요
일반적으로 조인 조건을 포함하는 where절을 작성해야한다
조인 조건은 일반적으로 각 테이블의 pk 및 fk로 구성된다.
조인의 처리는 어느 테이블을 먼저 읽을지를 결정하는 것이 중요(데이터 처리량이 상당히 달라짐)

join의 종류
inner join 
가장 일반적인 join의 종류이며 교집합이다.
동등 조인이라고도 하며 N개의 테이블 조인시 N-1개의 조인 조건이 필요함 (일반 조건 where, 조인 조건 on)
어느 테이블을 먼저 읽어도 결과가 달라지지 않아 mysql 옵티마이저가 조인의 순서를 조절해서 다양한 방법으로 최적화를 수행 할 수 있다.

ex) 
select a.age , b.age , a.name
from name a join student b
on a.name = b.name or( using name)
where age>= 18 

outer outer => left outer join , right outer join 
반드시 outer가 되는 테이블을 먼저 읽어야 하므로 옵티마이저가 조인 순서를 선택 할 수 없다.
어느 한쪽 테이블에는 해당하는 데이터가 존재하는데 다른 쪽 테이블에는 데이터가 존재하지 않을 경우 
그 데이터가 검색되지 않는 문제점을 해결하기 위해 사용

full join은 mysql 지원하지않음

댓글