개발자 미니민의 개발스터디

[Oracle] 오라클 - 셀프 조인 / NON-EQUI JOIN

by mini_min
[Oracle]
오라클 - 셀프 조인 / NON-EQUI JOIN

✔️ SELF JOIN

: 셀프 조인으로, 자기 자신을 다시 조인한다.

보통, 대분류, 중분류 같이 분류 테이블 만들 때 사용

 

-- 예시

SELECT b1.bcCode, b1.subject, b1.pcCode, b2.bcCode, b2.subject, b2.pcCode
	FROM bclass b1
	JOIN bclass b2 ON b1.bcCode = b2.pcCode;
💡 bclass 를 b1 과 b2 로 다시 조인했다. 
이렇게 조인하면 대분류의 코드와 중분류의 코드가 차례대로 나온다.

 

-- 예시 2 (저자 테이블)과 저자가 2명 이상인 책 출력

SELECT a1.bCode, a1.aName, a2.aName
  	  FROM author a1
   	 JOIN author a2 ON a1.bCode = a2.bCode
  	  ORDER BY bCode;
SELECT bCode, bName
	FROM book
	WHERE bCode IN (
		SELECT a1.bCode
  	 	FROM author a1
   		JOIN author a2 ON a1.bCode = a2.bCode AND a1.aName > a2.aName
);

 

 

 

✔️ NON-EQUI JOIN

: WHERE 절에 (non-equi-join 조건) 을 사용한 조인이다.

: '=' 을 사용하지 않고 표현하는 조인으로 보면 될듯하다.

 

-- 기본형식

SELECT [테이블명1.]컬럼명, [테이블명2.]컬럼명 ....
            FROM 테이블명1, 테이블명2..
            WHERE (non-equi-join 조건)

 

 

 

 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기