같은 테이블에서 같은 속성끼리 묶어서 조인하고 싶을 때 사용.
조직도 테이블이 있을 때(테이블 세팅),
CREATE TABLE employee
(
employee_id int PRIMARY KEY
,first_name varchar (255) NOT NULL
,last_name varchar (255) NOT NULL
,manager_id int
,FOREIGN KEY (manager_id)
REFERENCES employee(employee_id)
ON DELETE CASCADE
);
INSERT INTO employee (
employee_id
,first_name
,last_name
,manager_id
)
VALUES
(1, 'windy', 'hays',null)
,(2, 'ava','christiened',1 )
,(3, 'hassan','cooner',1)
,(4,'anna','revves',2)
,(5,'sua','norman',3)
,(6,'kelsie','hays',3)
,(7,'tory','goff',3)
,(8,'salley','lester',3);
COMMIT;
SELECT * FROM employee ;
전 직원과 바로 위 상사(manager_id)의 표시
매니저들이 담당하고 있는 직원을 확인하고 싶다 - INNER JOIN
SELECT
m.first_name || ' ' || m.last_name manager
,e.first_name || ' ' || m.last_name employee
FROM employee e
INNER JOIN employee m
ON m.employee_id = e.manager_id
;
매니저의 employee_id가 직원의 manager_id와 같은 상태로 이너 조인
전 직원과 담당 매니저를 보고 싶다. 단, 매니저가 없는 사람도 보고 싶다 - LEFT OUTER JOIN
SELECT
e.first_name || ' ' || e.last_name employee
,m.first_name || ' ' || m.last_name manager
FROM employee e
LEFT JOIN employee m
ON e.manager_id = m.employee_id
;
직원의 manager_id 가 매니저의 employee_id와 같은 상태로 아우터 조인
아우터 조인은 값이 null이어도 전부 보여줌
'데이터 분석 > SQL' 카테고리의 다른 글
[SQL 문법] CROSS JOIN (0) | 2020.11.04 |
---|---|
[SQL 문법] FULL OUTER JOIN (0) | 2020.11.03 |
[SQL 문법] INNER JOIN + ON (0) | 2020.10.31 |
[SQL 문법] IS NULL (0) | 2020.10.31 |
[SQL 문법] LIKE (0) | 2020.10.31 |