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;
총결산
이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 실 수 있 기 를 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL 연결 에서 HOST 호스트 이름 을 처리 할 수 없 는 해결 방법텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.