목차
조인이란?
두개 이상의 테이블이나 베이터베이스를 연결하여 데이터를 검색하는 방법이다.
검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주로 사용하며, 여러 개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법.
보통 PK 혹은 FK로 두 테이블을 연결한다.
테이블을 연결하려면 적어도 하나의 칼럼은 서로 공유되고 있어야 한다.
INNER JOIN
![[MSSQL] JOIN 설명 및 사용법 - 조인이란? - INNER JOIN [MSSQL] JOIN 설명 및 사용법 - 조인이란? - INNER JOIN](https://blog.kakaocdn.net/dn/bQvO2J/btruWkPs6Ce/qM8ISmc74sKWlVtlrJgTD1/img.png)
기준 테이블과 조인한 테이블의 중복된 값을 보여준다.
다시말해, 결과값은 A테이블을 기준으로 A테이블과 B테이블이 모두 갖고 있는 데이터만 검색된다.
-- 문법
SELECT (테이블별칭.칼럼, 테이블별칭.칼럼)
FROM 기준테이블 별칭
INNER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키 ...
-- 예제
SELECT (A.NAME, B.AGE)
FROM EX_TABLE A
INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP AND A.DEPT = B.DEPT
LEFT OUTER JOIN
![[MSSQL] JOIN 설명 및 사용법 - 조인이란? - LEFT OUTER JOIN [MSSQL] JOIN 설명 및 사용법 - 조인이란? - LEFT OUTER JOIN](https://blog.kakaocdn.net/dn/dagmEx/btruWjiHpj3/gEUMSLwXH7EB57DkFkNLak/img.png)
기준 테이블의 값 + 기준 테이블과 조인 테이블의 중복된 값을 보여준다.
왼쪽 테이블을 기준으로 조인을 진행하는것이다.
다시말해, 결과는 A 테이블의 모든 데이터와 A테이블과 B 테이블의 중복되는 값이 검색된다.
-- 문법
SELECT (테이블별칭.칼럼, 테이블별칭.칼럼)
FROM 기준테이블 별칭
LEFT OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키 ...
-- 예제
SELECT (A.NAME, B.AGE)
FROM EX_TABLE A
LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP AND A.DEPT = B.DEPT
RIGHT OUTER JOIN
![[MSSQL] JOIN 설명 및 사용법 - 조인이란? - RIGHT OUTER JOIN [MSSQL] JOIN 설명 및 사용법 - 조인이란? - RIGHT OUTER JOIN](https://blog.kakaocdn.net/dn/b0xecp/btruE74VcmJ/gg2bhbkl6s5fRSmm8eRfY0/img.png)
LEFT OUTER JOIN의 반대.
오른쪽 테이블을 기준으로 조인을 하는것.
다시말해, B 테이블의 모든 데이터와 A테이블과 B테이블의 중복되는 값이 검색된다.
-- 문법
SELECT (테이블별칭.칼럼, 테이블별칭. 칼럼)
FROM 기준테이블 별칭
RIGHT OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키 ...
-- 예제
SELECT (A.NAME, B.AGE)
FROM EX_TABLE A
RIGHT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP AND A.DEPT = B.DEPT
FULL OUTER JOIN
![[MSSQL] JOIN 설명 및 사용법 - 조인이란? - FULL OUTER JOIN [MSSQL] JOIN 설명 및 사용법 - 조인이란? - FULL OUTER JOIN](https://blog.kakaocdn.net/dn/zxYB0/btru1cbCG7e/ftIjlkkhkaDoeD7NrgKQYk/img.png)
A테이블과 B테이블이 갖고있는 모든 데이터가 검색된다.
사실상 기준 테이블의 의미가 없다.
--문법--
SELECT (테이블별칭.칼럼, 테이블별칭.칼럼)
FROM 기준테이블 별칭
FULL OUTER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키...
--예제--
SELECT (A.NAME, B.AGE)
FROM EX_TABLE A
FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP AND A.DEPT = B.DEPT
CROSS JOIN
![[MSSQL] JOIN 설명 및 사용법 - 조인이란? - CROSS JOIN [MSSQL] JOIN 설명 및 사용법 - 조인이란? - CROSS JOIN](https://blog.kakaocdn.net/dn/lgjCk/btruW9mFhyo/YVpPFsJc3YYSVPquR56B0K/img.png)
크로스 조인은 모든 경우의 수를 전부 표현해주는 방식이다.
기준 테이블이 A일 경우, A의 데이터 한 ROW를 B 테이블 전체와 JOIN하는 방식이다.
따라서 결과값도 N * M 이 될 것이다.
위 예시에선 A테이블에 데이터가 3개, B테이블에 데이터가 4개 있으므로 총 12개가 검색된다.
--문법(첫번째방식)--
SELECT (테이블별칭.칼럼, 테이블별칭.칼럼)
FROM 기준테이블 별칭
CROSS JOIN 조인테이블 별칭
--예제(첫번째방식)--
SELECT (A.NAME, B.AGE)
FROM EX_TABLE A
CROSS JOIN JOIN_TABLE B
======================================================================
--문법(두번째방식)--
SELECT (테이블별칭.칼럼, 테이블별칭.칼럼)
FROM 기준테이블 별칭,조인테이블 별칭
--예제(두번째방식)--
SELECT (A.NAME, B.AGE)
FROM EX_TABLE A,JOIN_TABLE B
SELF JOIN
![[MSSQL] JOIN 설명 및 사용법 - 조인이란? - SELF JOIN [MSSQL] JOIN 설명 및 사용법 - 조인이란? - SELF JOIN](https://blog.kakaocdn.net/dn/bTlDjI/btruXTqoEau/NRPp6LMoc2eFAKVeysUIi1/img.png)
셀프조인은 자기자신과 자기 자신을 조인한다.
다시말해 하나의 테이블을 여러번 복사해서 조인하는것이다.
컬럼을 다양하게 변형시켜 활용할 경우, 자주 사용한다.
--문법--
SELECT (테이블별칭.칼럼, 테이블별칭.칼럼)
FROM 테이블 별칭,테이블 별칭2
--예제--
SELECT (A.NAME, B.AGE)
FROM EX_TABLE A,EX_TABLE B
'DB' 카테고리의 다른 글
[MSSQL] SQL Server 튜닝 - 인덱스 (0) | 2022.12.20 |
---|---|
[DB/SQL] Server SQL Modes - "Group By" 를 사용할 때, 알아야 할 내용 (0) | 2022.11.17 |
[MSSQL] VARCHAR(MAX|N) 길이별 성능차이 및 NVARCHAR와의 성능차이에 관해.. (0) | 2022.02.08 |
[PostgreSQL] 기본 데이터 타입 정리 (0) | 2020.09.01 |
[PostgreSQL] 기본 데이터 타입 정리 - User defined data (0) | 2020.09.01 |
댓글