카테고리 없음

조인

나주나주 2024. 1. 9. 17:17

Tip) 집합 연산자: 두 개 이상의 select문의 결과 값을 세로로 연결한 것이고, 조인: 두 개 이상의 테이블을 가로로 연결한 것이다

 

equi join 등가 조인

: 각 테이블의 일치한 데이터를 기준으로 조인

 ≒ inner join내부 조인, simple단순 조인

 

1) 열 이름을 비교하는 조건식

SELECT * FROM A, B WHERE A.NO = B.NO ORDER BY A.ALPHABET;

2) 별칭 사용

SELECT A.NO, A.NAME, B.NO, B.NAME FROM APPLE A, BUBBLE B WHERE A.NO = B.NO;

 

non-equi join 비등가 조인

: 각 테이블의 관계를 기반으로 조인, BETWEEN A  AND B 연산자 활용!

ex)

					  --곡률
SELECT * FROM APPLE A, BUBBLE B WHERE [A.curvature] BETWEEN B.FIRST AND B.SECOND;

 

self join 자체 조인

:  하나의 테이블이지만 별칭을 줘서 다른 테이블인 것처럼 명시하여 조인

SELECT A1.NO, A1.NAME, A2.NO AS B_NO, A2.NAME AS B_NAME FROM APPLE A1, APPLE A2 WHERE A.CURVATION = B.CURVATION;

 

outer join 외부 조인

: 조인 중에 열의 어느 한 쪽이 NULL이어도 강제 출력

왼쪽 외부 조인 WHERE TABLE1.COL1 = TABLE2.COL1(+)
오른쪽 외부 조인 WHERE TABLE1.COL1(+) = TABLE2.COL2

 

SQL-99 표준 문법에서 join

 

OUTER JOIN

왼쪽 외부 조인
(Left Outer Join)
기존 WHERE TABLE1.COL1 = TABLE2.COL1(+)
SQL-99 FROM TABLE1 LEFT OUTER JOIN TABLE2 ON
오른쪽 외부 조인
(Right Outer Join)
기존 WHERE TABLE1.COL(+) = TABLE2.COL1
SQL-99 FROM TABLE1 RIGHT OUTER JOIN TABLE2 ON
전체 외부 조인
(Full Outer Join)
기존 UNION 집합 연산자 활용 (기존 문법 X)
SQL-99 FROM TABLE1 FULL OUTER JOIN TABLE2 ON

* SQL-99의 예시들은 모두 조인 조건식임