MySQL 네 가지 연결 과 다 중 테이블 조회 상세 설명
구축 환경:
create table t_emp(
id int primary key,
name varchar(20),
deptId int
);
create table t_dept(
id int primary key,
name varchar(20)
);
insert into t_dept(id, name) values(1, ' ');
insert into t_dept(id, name) values(2, ' ');
insert into t_dept(id, name) values(3, ' ');
insert into t_emp(id, name, deptId) values(1, ' ', 1);
insert into t_emp(id, name, deptId) values(2, ' ', 2);
insert into t_emp(id, name, deptId) values(3, ' ', 0);
# ps: ,t_emp A , t_dept B
목차1.INNER JION 내 연결(A∩B)
SELECT * FROM t_emp e INNER JOIN t_dept d ON e.deptId = d.id;
2.레프 트 존 왼쪽 외부 연결(A 모두 있 음)
SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id;
3.라이트 존 오른쪽 외부 연결(B 모두 있 음)
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id;
4.전체 조인 전 외부 연결(A+B)
SELECT * FROM t_emp e LEFT JOIN t_dept d
ON e.deptId = d.id UNION
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id;
5.LEFT Excluting JOIN(A-B 즉 A 표)+
SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id is null;
6.Right Excluting JOIN(B-A 즉 B 표)
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id is null;
7.OUTER Excluting JOIN(A 와 B 는 각각)
SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id is null
UNION
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id is null;
총결산
이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 실 수 있 기 를 바 랍 니 다!