MySQL JOIN
MySQL JOIN
Inner Join
1
2
3
select *
from 테이블A a
join 테이블B b on a.id = b.aid
inner join이지만inner는 생략 가능합니다.
Outer Join
Left Join
1
2
3
select *
from 테이블A a
left join 테이블B b on a.id = b.aid
Right Join
1
2
3
select *
from 테이블A a
right join 테이블B b on a.id = b.aid
left outer join,right outer join이지만outer는 생략 가능합니다.
순서만 바꾸면 동일한 결과이기 때문에 가독성 관계로
left join을 많이 쓰고right join은 잘 사용하지 않습니다.
Self Join
- 본인 테이블을 조인 하는 방법
- 테이블을 별칭으로 구분하여 작성
1
2
3
select *
from 테이블A a
join 테이블A b on a.id = b.aid
Cross Join
ON조건 없이 한 테이블의 모든 행을 다른 테이블의 모든 행과 각각 연결하는 방법
1
2
3
select *
from 테이블A a
cross join 테이블B b
- 만약
테이블A에 데이터가 3개이고테이블B의 데이터가 4개면3*4인12개의 행이 결과로 나옵니다.
데이터가 많은 테이블에 사용하면 결과 행이 기하급수적으로 늘어나 서버에 심각한 부하를 줄 수 있으므로 주의해야 합니다.
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.


