일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DATABASE
- springboot
- EXTJS
- 보안취약점
- 컴포넌트
- GIT
- 스프링부트
- reactjs
- 스프링
- Vue
- table
- JS
- mssql
- javascript
- 데이터베이스
- Intellij
- crud
- restapi
- Spring
- 개발
- component
- 쿼리
- sql
- 개발공부
- 리액트
- java
- React
- 자바
- 자바스크립트
- jdk
- Today
- Total
준준의 기록일지
[SQL] INNER JOIN, OUTER JOIN, ON, WHERE 본문
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
조인
- 두개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법.
- 보통 Primary Key 혹은 Foreign Key로 두 테이블을 연결한다.
- 테이블을 연결하려면 적어도 하나의 컬럼은 서로 공유되고 있어야 한다.
INNER JOIN
- 교집합으로 기준테이블과 join한 테이블의 중복된 값을 보여준다.
- 문법
SELECT 테이블별칭.조회할컬럼, 테이블별칭.조회할컬럼
FROM 기준테이블 별칭
INNER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준치=조인테이블별칭.기준키.
OUTER JOIN
- 매칭 뿐만 아니라 미매칭 데이터도 함께 조회한다.
LEFT OUTER JOIN
- 기준테이블의 값 + 테이블과 기준테이블의 중복된 값을 보여준다.
- 문법
SELECT 테이블별칭.조회할컬럼, 테이블별칭.조회할컬럼
FROM 기준테이블 별칭
LEFT OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준치=조인테이블별칭.기준키.
- 추가적으로 테이블 A에만 존재하는 코드를 조회할때는?
SELECT *
FROM A LEFT OUTER JOIN B ON A.CODE=B.CODE
WHERE B.CODE IS NULL
RIGHT OUTER JOIN
- LEFT OUTER JOIN의 반대
- 오른쪽 테이블(조인테이블)을 기준으로 JOIN하는 것.
- B테이블의 모든 데이터와 A테이블과 B테이블의 중복된 값이 검색된다.
- 문법
SELECT 테이블별칭.조회할컬럼, 테이블별칭.조회할컬럼
FROM 기준테이블 별칭
RIGHT OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준치=조인테이블별칭.기준키.
FULL OUTER JOIN
- 합집합
- A테이블, B테이블이 가지고 있는 모든 데이터가 검색된다.(사실상 기준테이블의 의미가 없음)
- 문법
SELECT 테이블별칭.조회할컬럼, 테이블별칭.조회할컬럼
FROM 기준테이블 별칭
FULL OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준치=조인테이블별칭.기준키.
- 만약 A테이블과 B테이블 매칭이 안되는 나머지를 모두 조회하는 경우에는?
SELECT *
FROM A FULL OUTER JOIN B ON A.CODE = B.CODE
WHERE A.CODE IS NULL OR B.CODE IS NULL
CROSS JOIN
- 모든 경우의 수를 전부 표현해주는 방식
- 기준테이블이 A일 경우 A 데이터의 한 ROW를 B테이블 전체와 JOIN하는 방식이다.
- 그러므로 결과값의 경우의 수는 N * M이 된다.
- 위 그림을 보면 A테이블에 데이터가 3개, B테이블에 데이터가 4개 있어 총 12개가 검색된다.
- 첫번째 문법
SELECT 테이블별칭.조회할컬럼, 테이블별칭.조회할컬럼
FROM 기준테이블 별칭
CROSS JOIN 조인테이블 별칭
- 두번째 문법
SELECT 테이블별칭.조회할컬럼, 테이블별칭.조회할컬럼
FROM 기준테이블 별칭, 조인테이블 별칭
SELF JOIN
- 자기자신과 자기자신을 조인
- 하나의 테이블을 여러번 복사해서 존인하는데, 자신이 가지고 있는 컬럼을 다양하게 변형시켜 활용할 경우 자주 사용한다.
- 문법
SELECT 테이블별칭.조회할컬럼, 테이블별칭.조회할컬럼
FROM 테이블 별칭, 테이블 별칭2
출처
'Database' 카테고리의 다른 글
[mssql] update select 동시 작업 (0) | 2020.11.02 |
---|---|
[mssql] trigger (0) | 2020.10.27 |
[MSSQL] 테이블 복사 (구조, 데이터) (0) | 2020.10.27 |
[MSSQL] DECLARE, BEGIN-END 문 (0) | 2020.10.27 |
[sql쿼리] create, select, alter, insert (0) | 2020.08.13 |