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 지원하지않음
'DB > sql' 카테고리의 다른 글
Mysql 데이터타입 varchar vs char , int vs int(N), erd 식별 비식별 간단정리 (0) | 2022.06.17 |
---|---|
CSV 파일 mysql db에 넣기 (error 3948) (0) | 2022.05.21 |
DML CRUD 개념간단정리 952's 접근 (0) | 2022.05.09 |
댓글