개발자 '쑥말고인절미'
[SQL] JOIN / INNER JOIN / OUTER JOIN / CROSS JOIN / SELF JOIN에 대하여 본문
STUDY/dbeaver & SQL
[SQL] JOIN / INNER JOIN / OUTER JOIN / CROSS JOIN / SELF JOIN에 대하여
쑥말고인절미 2022. 12. 19. 15:58JOIN
- JOIN은 2개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 의미한다.
- 하나의 테이블에 원하는 데이터가 모두 있다면 참 좋겠지만, 두 개의 테이블을 엮어야 원하는 결과가 나오는 경우도 많
- JOIN의 종류
- INEER JOIN(내부 조인)
- OUTER JOIN(외부 조인)
- CROSS JOIN(상호 조인)
- SELF JOIN(자체 조인)
- 2개의 테이블의 조인을 위해서는 기본키(PK)와 외래키(FK) 관계로 맺어져야 하고, 이를 일대다 관계라고 한다.
INNER JOIN(내부 조인)
- 2개의 테이블을 연결할 때 가장 많이 사용한다. JOIN 이라고 부르면 INNER JOIN을 의미한다.
- 쿼리문에서 INNER JOIN을 JOIN이라고만 써도 INNER JOIN으로 인식한다.
SELECT 열 목록
FROM 첫 번째 테이블
INNER JOIN 두 번째 테이블
ON 조인될 조건
[WHERE 검색 조건]
OUTER JOIN(외부 조인)
- INNER JOIN은 2개의 테이블에 모두 데이터가 있어야만 결과가 나오지만, OUTER JOIN은 한쪽에만 데이터가 있어도 결과가 출력된다.
- OUTER JOIN의 종류
- LEFT OUTER JOIN : 왼쪽 테이블의 모든 값이 출력되는 조인
- RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값이 출력되는 조인
- FULL OUTER JOIN : 왼쪽 또는 오른쪽 테이블의 모든 값이 출력되는 조인
SELECT 열 목록
FROM 첫 번째 테이블(LEFT 테이블)
LEFT|RIGHT|FULL OUTER JOIN 두 번째 테이블(RIGHT 테이블)
ON 조인될 조건
[WHERE 검색 조건]
CROSS JOIN(상호 조인)
- 한 쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능이다.
- 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼 되고, 카티션 곱(CARTESIAN PRODUCT)라고도 한다.
SELECT *
FROM 첫 번째 테이블
CROSS JOIN 두 번째 테이블
SELF JOIN(자체 조인)
- SELF JOIN은 자기 자신과 조인하므로 1개의 테이블을 사용한다.
- 별도의 문법이 있는 것은 아니고 1개로 조인하면 SELF JOIN이 된다.
SELECT 열 목록
FROM 테이블 별칭A
INNER JOIN 테이블 별칭B
ON 조인될 조건
[WHERE 검색 조건]
참고링크
SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)
조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부
hongong.hanbit.co.kr
'STUDY > dbeaver & SQL' 카테고리의 다른 글
[SQL] 정리 (0) | 2023.02.03 |
---|---|
[에러] ERROR: Got a packet bigger than 'max_allowed_packet' bytes (0) | 2022.08.23 |
[dbeaver] 테이블에 csv 파일로 데이터 입력하기(MySql) (0) | 2022.06.08 |