1. INNER JOIN :
- 두개의 집합 (A, B) 의 교집합 이라고 이해해보자.
A {1,2,3} , B {2,3,4 } 이면 {2,3} 이 교집합.
모두의 값에 있는 행들만 포함시키고 그렇지 않는 행들은 제외.
2. OUTER JOIN
- OUTER JOIN 에는 LEFT , RIGHT, FULL OUTER JOIN 등의 세가지 형식이 있다.
두 테이블에서 지정된 쪽인 LEFT 또는 RIGHT 쪽의 모든 결과를 보여준후 반대쪽에 매칭되는 값
이 없어도 보여주는 JOIN 이다.
JOIN 이전에 나오는 테이블이 왼쪽(LEFT)테이블이 되고, JOIN 이후에 나오는 테이블은 오른쪽
(RIGHT)테이블이 된다.
3. 예시
CREATE TABLE T1 ( A INT PRIMARY KEY
, B VARCHAR(20) )
INSERT INTO T1 (A,B) VALUES (1,'김대중')
INSERT INTO T1 (A,B) VALUES (2,'김영삼')
INSERT INTO T1 (A,B) VALUES (3,'노태우')
INSERT INTO T1 (A,B) VALUES (4,'전두환')
CREATE TABLE T2 ( A INT PRIMARY KEY
, C VARCHAR(20) )
INSERT INTO T2 (A,C) VALUES (2,'SM5')
INSERT INTO T2 (A,C) VALUES (3,'SONATA')
--INNER JOIN
--T1, T2 의 INNER JOIN 이면 차를 소유하고 있는 사람만 추출된다.
-- ANSI SQL
SELECT T1.A,T1.B, T2.C
FROM T1 INNER JOIN T2 ON T1.A=T2.A
-- LEFT OUTER JOIN : 좌측을 기준
-- ANSI SQL
SELECT T1.A,T1.B, T2.C
FROM T1 LEFT OUTER JOIN T2 ON T1.A=T2.A
-- RIGHT OUTER JOIN : 우측을 기준
-- ANSI SQL
SELECT T1.A,T1.B, T2.C
FROM T1 RIGHT OUTER JOIN T2 ON T1.A=T2.A
-- FULL OUTER JOIN : 양쪽 테이블을 둘다 기준으로
-- ANSI SQL
SELECT T1.A,T1.B, T2.C
FROM T1 FULL OUTER JOIN T2 ON T1.A=T2.A
'BackEnd > Oracle' 카테고리의 다른 글
비밀번호 만료 재설정 (0) | 2022.01.17 |
---|---|
오라클 페이징 처리 (0) | 2020.04.30 |
기본키,외래키 (0) | 2019.06.29 |