본문 바로가기

MySQL/MySQL 활용

SELF JOIN - 2

🔔 Self join은 하나의 테이블 내에서 자기 자신을 조인하는 것을 의미합니다. 이는 동일한 테이블에서 서로 다른 행을 비교하고 조작하는 데 사용됩니다. Self join을 사용하면 동일한 열을 가진 두 개의 서로 다른 인스턴스 간의 관계를 파악하거나 계층적인 구조를 나타낼 때 유용합니다.

예를 들어, 조직 구조에서 각 직원이 직속 상급자의 정보를 확인해야 할 때 self join을 사용할 수 있습니다. 각 직원은 같은 테이블에 저장되어 있지만, 상급자와 직속 부하 직원 간의 관계를 파악하기 위해 자기 자신과의 조인을 수행합니다.

 

-- 테이블 생성 

create table employees(
	employee_id int, 
  employee_name varchar(255),
  employee_phone varchar(20), 
  manager_id int, 
	primary key(employee_id)
);

insert into employees 
	values(1, '홍길동', '010-1111-1111', null),
    (2, '이순신', '010-2222-2222', 1),
    (3, '유관순', '010-3333-3333', 1),
    (4, '야스오', '010-4444-4444', 2);
    
select * from employees;    
    
-- self join 
select e.employee_name as 직원이름, 
	   e.employee_phone as 직원연락처, 
       m.employee_name as 상급자이름, 
       m.employee_phone as 상급자연락처
from employees as e
left join employees as m on e.manager_id = m.employee_id;
-- 조건 조건절을 사용할 때 pk값을 잘 확인하자.

'MySQL > MySQL 활용' 카테고리의 다른 글

쇼핑몰과 카테고리 2단계 - 6  (0) 2024.06.12
쇼핑몰과 카테고리 1단계 - 5  (0) 2024.06.12
블로그 서비스의 DB 구축 - 4  (0) 2024.06.11
쇼핑몰 서비스의 DB 구축 - 3  (0) 2024.06.11
정규화란(1단계) - 1  (0) 2024.06.11