일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 입출력
- 예외
- 객체
- 배열
- for문
- JSP
- 인터페이스
- try-catch
- 에러
- 람다식
- ToString
- StringBuffer
- array
- 내장 객체 영역
- Connection
- 상속
- DB
- 예외처리
- 다형성
- 제어자
- 변수
- 객체지향
- Interface
- I/O
- 커넥션 풀
- 메서드
- 접근제어자
- StringBuffer클래스
- File입출력
- java
Archives
- Today
- Total
ksouth9
JOIN(조인) 본문
JOIN(조인)이란, 두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것.
조인을 쓰면 두 개의 테이블을 엮어서 원하는 데이터를 추출할 수 있다.
두 테이블의 조인을 위해서는 기본키(PRIMARY KEY, PK)와 외래키(FOREIGN KEY, FK) 관계로 맺어져야 하고, 이를 1대다 관계라고 한다.
- JOIN은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.
- INNER JOIN(내부조인) - 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야한다.
- OUTER JOIN(외부조인) - 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 조회된다.
- CROS JOIN(상호조인) - 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능.
- SELF JOIN(자체조인) - 자신이 자신과 조인한다 라는 의미로, 1개의 테이블을 사용한다.
INNER JOIN(내부 조인)
조인 중에서 가장 많이 사용되는 조인이다. 일반적으로 JOIN이라고 얘기하는 것이 INNER JOIN을 지칭하는 것이다.
SELECT 컬럼
FROM 첫 번째 테이블
INNER JOIN 두 번째 테이블
ON 조인될 조건
[WHERE 검색조건];
위의 형식에서 INNER JOIN을 그냥 JOIN이라고 작성해도 INNER JOIN으로 인식한다. WHERE 조건 문은 없어도 상관 없다.
OUTER JOIN(외부 조인)
- LEFT OUTER JOIN - 왼쪽 테이블의 모든 값이 출력된다.
- RIGHT OUTER JOIN - 오른쪽 테이블의 모든 값이 출력된다.
- FULL OUTER JOIN - 왼쪽 또는 오른쪽 테이블의 모든 값이 출력된다.
두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 조회된다.
SELECT 컬럼
FROM 첫 번째 테이블(LEFT 테이블)
<LEFT,RIGHT,FULL> OUTER JOIN 두 번째 테이블(RIGTH 테이블)
ON 조인될 조건
[WHERE 검색조건];
LEFT OUTER JOIN을 줄여서 LEFT JOIN으로 사용할 수 있다.
CROSS JOIN(상호 조인)
한쪽 테이블의 모든 행들과 다른 쪽 테이블의 모든 행을 조인시킨다. 그래서 CROSS JOIN의 결과 개수는 두 테이블 개수를 곱한 개수가 된다.
- CROSS JOIN에는 ON 구문을 사용할 수 없다.
SELECT *
FROM 첫 번째 테이블
CROSS JOIN 두 번째 테이블;
SELF JOIN(자체 조인)
SELF JOIN은 별도의 구문이 있는 것이 아니라 자기 자신과 자기 자신이 조인한다는 의미이다.
SELECT 컬럼
FROM 테이블
INNER JOIN 테이블
ON 조인될 조건
[WHERE 검색조건];
'Database' 카테고리의 다른 글
데이터 모델링 (0) | 2022.09.29 |
---|---|
SQL(Structured Query Language) (0) | 2022.05.09 |
데이터베이스(Database) - 기초 (0) | 2022.05.09 |