CoDream

[SQL] JOIN ( INNER JOIN / 내부 조인, OUTER JOIN / 외부 조인) 본문

[DB]Oracle SQL/Oracle SQL 이론

[SQL] JOIN ( INNER JOIN / 내부 조인, OUTER JOIN / 외부 조인)

코잠 2024. 3. 23. 12:40
728x90
반응형

JOIN

두 개의 이상의 테이블에서 데이터를 조회하고자 할 때 사용하는 구문이다.

 

 

INNER JOIN / 내부 조인(일치하는 값이 없는 행은 조회 X)

 

1) 오라클 전용 구문

 - FROM 절에 조회하고자 하는 테이블들을 콤마(,)로 구분하여 나열한다.
 - WHERE 절에 매칭 시킬 칼럼명에 대한 조건을 제시한다.

[문법]
SELECT 칼럼, 칼럼, ...
FROM 테이블1, 테이블2
WHERE 테이블1.칼럼명 = 테이블2.칼럼명;

 

 

2) ANSI 표준 구문 

- FROM 절에 기준이 되는 테이블을 기술한다.
 - JOIN 절에 같이 조회하고자 하는 테이블을 기술 후 매칭 시킬 칼럼에 대한 조건을 기술한다.
- 연결에 사용하려는 칼럼명이 같은 경우 ON 구문 대신에 USING(칼럼명) 구문을 사용한다.

SELECT 칼럼, 칼럼, ...
FROM 테이블1
[INNER] JOIN 테이블2 ON (테이블1.칼럼명 = 테이블2.칼럼명);

 


OUTER JOIN / 외부 조인

  • 테이블 간의 JOIN 시 일치하지 않는 행도 포함시켜서 조회가 가능하다. 
  • 단, 반드시 기준이되는 테이블(컬럼)을 지정해야 한다. (LEFT/RIGHT/(+))
--DEPARTMENT 테이블, EMPLOYEE 테이블을 이용해
-- 사원명, 부서명 조회

SELECT EMP_NAME, DEPT_TITLE
FROM EMPLOYEE E 
LEFT OUTER JOIN DEPARTMENT D
ON E.DEPT_CODE = D.DEPT_ID;


--DEPARTMENT 테이블, EMPLOYEE 테이블을 이용해
-- 사원명, 부서명 조회

SELECT EMP_NAME, D.DEPT_ID, DEPT_TITLE
FROM EMPLOYEE E 
FULL OUTER JOIN DEPARTMENT D
ON E.DEPT_CODE = D.DEPT_ID;

 

728x90
반응형

'[DB]Oracle SQL > Oracle SQL 이론' 카테고리의 다른 글

TCL(Transaction Control Language)  (0) 2024.03.26
서브쿼리(Subquery)  (0) 2024.03.25
[SQL] HAVING (그룹에 대한 조건)  (0) 2024.03.23
[SQL] GROUP BY (그룹화)  (1) 2024.03.23
[SQL] 그룹 함수  (0) 2024.03.23