SQL – inner join, outer join 사용법 및 예제
페이지 정보
작성자 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 4,238회 작성일 16-11-02 19:16본문
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)테이블이 됩니다.
예를 보겠습니다.. ^^*
---------------------------------------------------------------
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
-- T-SQL
SELECT T1.A,T1.B, T2.C
FROM T1 , T2
WHERE 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
-- T-SQL
SELECT T1.A,T1.B, T2.C
FROM T1 , T2
WHERE 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
-- T-SQL
SELECT T1.A,T1.B, T2.C
FROM T1 , T2
WHERE 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
-- T-SQL
SELECT T1.A,T1.B, T2.C
FROM T1 , T2
WHERE T1.A =* T2.A
UNION
SELECT T1.A,T1.B, T2.C
FROM T1 , T2
WHERE T1.A *= T2.A
댓글목록
등록된 댓글이 없습니다.