관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

JOIN 심화 8 - 셀프 조인 본문

알고리즘 및 자료 관리/SQL

JOIN 심화 8 - 셀프 조인

huenuri 2024. 10. 23. 14:05

마지막 이론 학습이 될 것 같다. 셀프 조인에 대해서 학습해보려고 한다.


 

 

 

 

 

이론 8 - 셀프 조인

 

 

자기 자신을 조인하는 것이다.

 

 

 

 

 

 

별칭을 지정하지 않으면 오류가 발생한다.

 

 

 

 

 

 

실제로 이 결과를 추출하기 위해서는 LEFT OUTER JOIN이 되어야 하므로 (+)가 들어간다. ALPHA의 관리자가 NULL이기 때문에 출력되는 결과가 없어 BETA의 값도 NULL이 된다.


 

 

 

 

 

실습 12 - 셀프 조인

 


 

 

 

 

1. 테이블 조회하기

 

 

 

여기서 보면 EMPLOYEE테이블에는 관리자 ID 만 함께 존재한다. 이제 셀프 조인 개념을 이용하여 각 사원 정보와 관리자 이름을 함께 조회해 볼 것이다.


 

 

 

 

2. EMPLOYEE 테이블을 SELF JOIN하여 사원 ID, 사원이름, 관리자이름 조회하기

 

 

관리자 이름은 없으므로 우리가 하나 지정해주고 셀프 조인으로 가져올 두 테이블을 구분하기 위해 별칭으로 a, b 값을 넣어주었다. 그리고 여기서 테이블을 각각 불러온다.

 

 

관리자 이름이 잘 출력이 되었다. 하지만 두 개의 테이블 이름이 같아서 구분하기가 힘들다. 여기에 별칭을 지어주기로 하자.


 

 

 

 

 

3. 두 개의 테이블 구분할 수 있게 별칭 지어주기

 

 

이제 manager_name으로 두 테이블이 잘 출력되었다.

 

 

 


 

 

 

 

 

퀴즈 7 - 셀프 조인

 

 

 

문제를 모두 잘 풀었다.

 


 

 

 

학습을 마치고

원래 1시 반까지 공부하려고 했는데 하다보니 2시가 되었다. 이렇게 아침에 3시간 45분 정도 SQL 공부를 했다. 이제 에너지를 보충하고 좀 쉬어야겠다.

셀프 조인도 무척 어렵게 생각했는데 공부해보니 할만했다.