티스토리 뷰
조인이란?
두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법
테이블을 연결하려면, 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로 이를 이용하여 데이터 검색에 활용한다.
JOIN 종류
- INNER JOIN
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
- CROSS JOIN
- SELF JOIN
교집합으로, 기준 테이블과 join 테이블의 중복된 값을 보여준다.
SELECT A.NAME, B.AGE FROM EX_TABLE A INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
INNER JOIN기준테이블값과 조인테이블과 중복된 값을 보여준다.
왼쪽테이블 기준으로 JOIN을 한다고 생각하면 편하다.
SELECT A.NAME, B.AGE FROM EX_TABLE A LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
LEFT OUTER JOINLEFT OUTER JOIN과는 반대로 오른쪽 테이블 기준으로 JOIN하는 것이다.
SELECT A.NAME, B.AGE FROM EX_TABLE A RIGHT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
RIGHT OUTER JOIN합집합을 말한다. A와 B 테이블의 모든 데이터가 검색된다.
SELECT A.NAME, B.AGE FROM EX_TABLE A FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
FULL OUTER JOIN모든 경우의 수를 전부 표현해주는 방식이다.
A가 3개, B가 4개면 총 3*4 = 12개의 데이터가 검색된다.
SELECT A.NAME, B.AGE FROM EX_TABLE A CROSS JOIN JOIN_TABLE B
CROSS JOIN자기자신과 자기자신을 조인하는 것이다.
하나의 테이블을 여러번 복사해서 조인한다고 생각하면 편하다.
자신이 갖고 있는 칼럼을 다양하게 변형시켜 활용할 때 자주 사용한다.
SELECT A.NAME, B.AGE FROM EX_TABLE A, EX_TABLE B
SELF JOIN
'Computer Science > Database' 카테고리의 다른 글
SQL과 NoSQL의 차이점 (0) | 2020.05.28 |
---|---|
SQL Injection의 공격과 방어 (0) | 2020.05.20 |
Database Key 정리 (후보키, 기본키, 대체키, 슈퍼키) (0) | 2020.04.21 |
[MongoDB] 강좌 6편 Index 설정 (0) | 2018.07.30 |
[MongoDB] 강좌 5편 Document 수정 – update() 메소드 (0) | 2018.07.29 |
- Total
- Today
- Yesterday