나만 알 수 없어서 만든 블로그
1-3. DATABASE (JOIN 내부/외부, 연산자) 본문
JOIN (내부/외부), 연산자
참고 링크: https://goddaehee.tistory.com/62
조인
- 테이블의 공통 컬럼(외래키 등)을 통하여 테이블을 결합한 후 데이터 처리하는 것
- 내부 조인, 외부 조인, ANSI 조인 (INNER JOIN, OUTER JOIN)
SELECT FROM을 이용한 조인
SELECT MEM.MEM_ID, MEM.NAME, MEM.DEPART_ID, DEPART.DEPART_NAME
FROM MEM, DEPART
WHERE MEM.DEPART_ID = DEPART.DEPART_ID;
ANSI 표준 조인
JOIN절을 명시적으로 선언하여 질의문을 작성 가능
SELECT 컬럼이름1, 컬럼이름2, ㆍㆍㆍ
FROM 테이블명1
JOIN 테이블명2
ON 테이블명1.컬럼명 = 테이블명2.컬럼명;
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME
FROM MEM A
JOIN DEPART B
ON A.DEPART_ID = B.DEPART_ID
OUTER 조인
- EQUI JOIN 문장들의 한 가지 제약점은 그것들이 조인을 생성하려 하는 두 개의 테이블의 두 개 컬럼에서 공통된 값이 없다면 테이블로부터 데이터 반환하지 못함
- 정상적으로 조인 조건을 만족하지 못하는 행들을 보기 위해 OUTER JOIN을 사용
- OUTER JOIN의 연산자는 (+)
- 조인시킬 값이 없는 조인측에 (+)를 위치
- OUTER JOIN 연산자는 표현식의 한쪽에만 가능
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME, C.LOG_TIME
FROM MEM A
,DEPART B
,MEM_MOD_LOG C
WHERE A.DEPART_ID = B.DEPART_ID
AND A.MEM_ID = C.MEM_ID (+)
AND A.NAME = '사자';
-- 데이터가 없을 수도 있는 쪽 JOIN 컬럼에 (+)를 추가하여 OUTER JOIN이 가능
FULL OUTER JOIN
양쪽 테이블에 다 Outer Join을 거는 것을 TWO-WAY OUTER JOIN 또는 FULL OUTER JOIN 이라고 함
'개발 기본 지식' 카테고리의 다른 글
1.6 DATABASE (PL/SQL) (0) | 2022.03.24 |
---|---|
1-4. DATABASE (WHERE SELECT, EXISTS, BETWEEN, GROUP BY, HAVING, GROUPING, ROLLUP, RANK) (0) | 2022.03.24 |
1-2. DATABASE (표준 SQL 이해) (0) | 2022.03.24 |
1-1. DATABASE (RDBMS/Non-RDBMS) (0) | 2022.03.23 |
00.교육커리큘럼 (0) | 2022.03.23 |