Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정보처리기사 합격
- 자바
- View
- 스프링
- 개발자 이직
- Class
- Model
- HTTP
- 제이큐그리드
- extends
- ModelMap
- jqGrid
- 트랜잭션
- HTML
- JVM Heap
- ModelAndView
- 어노테이션
- 정보처리기사 필기
- SQL
- ResponseBody
- Javascript
- JQuery
- spring
- mysql
- Where
- MariaDB
- 정처기 합격
- jqgrid 개념
- java
- implements
Archives
- Today
- Total
크리스의 개발일기
[MSSQL]OUTER JOIN, INNER JOIN이란 무엇인가? 본문
JOIN 이란?
: 두 개 이상의 테이블이나 데이터베이스를 서로 엮어 조회하는 방법
Inner Join
: (= 교집합) 서로 매칭 되는 것만 조회한다
Outer Join
: (= 합집함) 매칭 되는 데이터뿐만 아니라 미매칭 데이터도 함께 조회된다.
: A(=Left), B(=right) 기준을 어디에 두냐에 따라 기준 테이블 값 + 테이블과 기준 테이블의 중복된 값이 보인다.
: Outer Join은 매칭뿐만 아니라 미매칭 데이터도 함께 조회한다.
: Outer Join에는 Left Outer Join, Right Outer Join, Full Outer Join이 있다.
: Left, Right는 미매칭 데이터도 조회할 테이블 방향이다.
- 따라서 Left Outer Join은 왼쪽에 기입한 테이블이 매칭여부와 관계없이 모두 나오게 된다.
기본 테이블 정보
CREATE TABLE A(
CODE INT NOT NULL,
CODE_NAME NCHAR(100) NOT NULL
CONSTRAINT PK_A PRIMARY KEY(CODE)
);
CREATE TABLE B(
CODE INT NOT NULL,
CODE_NAME NCHAR(100) NOT NULL
CONSTRAINT PK_B PRIMARY KEY(CODE)
);
INSERT INTO A(CODE, CODE_NAME) VALUES(1, 'ALPHA')
INSERT INTO A(CODE, CODE_NAME) VALUES(2, 'BETA')
INSERT INTO B(CODE, CODE_NAME) VALUES(2, 'BETA')
INSERT INTO B(CODE, CODE_NAME) VALUES(3, 'GAMMA')
Inner Join
1) 테이블 A와 테이블 B 모두에 존재하는 코드를 조회한다.
SELECT *
FROM A INNER JOIN B ON A.CODE = B.CODE
Outer Join
2) 테이블 A에만 존재하는 코드를 조회한다.
SELECT *
FROM A LEFT OUTER JOIN B ON A.CODE = B.CODE
WHERE B.CODE IS NULL
3) 테이블 A의 모든 코드는 매칭여부와 관계없이 모두 조회한다.
SELECT *
FROM A LEFT OUTER JOIN B ON A.CODE = B.CODE
4) A테이블과 B테이블 매칭이 안 되는 나머지를 모두 조회한다.
SELECT *
FROM A FULL OUTER JOIN B ON A.CODE = B.CODE
WHERE A.CODE IS NULL OR B.CODE IS NULL
출처 :
'Database > SQL' 카테고리의 다른 글
[SQL] 더미 데이터(Dummy data)란 무엇인가? (+프로시저 추가) (0) | 2020.11.09 |
---|---|
[SQL] 카테시안 곱(Cartesian Product)이란? (2) | 2020.11.09 |
[SQL]GROUP BY절, HAVING절 (0) | 2020.11.09 |
[SQL] 그룹 함수이란? (0) | 2020.11.09 |
[SQL]스칼라 서브쿼리란? (0) | 2020.11.09 |
Comments