| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 오라클
- 서버
- java
- 스프링부트
- JavaScript
- 프로그래머스
- oracle
- spring
- 자바
- 정리
- node.js
- 쿼리
- 미니정리
- MySQL
- 백엔드
- 자바스크립트
- 스프링
- 데이터베이스
- SQL
- 디자인 패턴
- Next.js
- jpa
- 알고리즘
- 코드 테스트
- web
- 프론트엔드
- 코드테스트
- 프런트엔드
- BACK-END
- jsp
- Today
- Total
참치코더의 꿈 메모장
2021/07/30 Oracle - 조인(등가조인, 자체조인, 외부조인) 본문
* FROM 절에는 여러 개 테이블을 지정하는 것이 가능하다.
* 꼭 테이블이 아니더라도 테이블 형태, 즉 열과 행으로 구성된 데이터 집합이면 모두 FROM절에
지정 가능하다.
조인 조건이 없을 때의 문제점
SELECT *
FROM EMP, DEPT
ORDER BY EMPNO;
EMP와 DEPT에 있는 값들의 모든 행들의 경우의 수가 나오게 된다.
테이블의 별칭 설정
FROM절에 지정한 테이블에는 SELECT절의 열에 사용한 것처럼 별칭을 지정할 수 있다.
*테이블의 별칭을 지정할 때는 명시한 테이블 이름에서 한 칸 띄운 후에 지정한다.
등가조인
등가 조인은 테이블을 연결한 후에 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식이다.
등가 조인은 내부 조인 또는 단순 조인으로 부르기도 한다.
증가 조인은 일반적으로 가장 많이 사용되는 조인 방식이다. (=)
여러 테이블의 열 이름이 같을 때 유의점
*등가 조인을 사용할 때 조인 조건이 되는 각 테이블의 열 이름이 같을 경우에
해당 열 이름을 테이블 구분 없이 명시하면 오류가 발생하여 실행되지 못한다.
자체조인
자체 조인은 하나의 테이블을 여러 개의 테이블처럼 활용하여 조인하는 방식으로, 물리적으로 동일한 테이블
여러 개를 사용할 때 발생할 수 있는 문제점을 해결한다.
자체 조인은 FROM절에 같은 테이블을 여러 번 명시하되 테이블의 별칭만 다르게 지정하는 방식으로 사용한다.
외부조인
두 테이블간 조인 수행에서 조인 기준 열의 어느 한쪽이 NULL이어도 강제로 출력하는 방식을 외부조인
이라고 한다.
외부 조인은 좌우를 따로 나누어 저장하는데 WHERE절에 조인 기준 열 중 한쪽에 (+) 기호를 붙여 준다.
왼쪽 외부 조인 (Left Outer Join)
WHERE TABLE1.COL1 = TABLE2.COL1(+)
오른쪽 외부 조인(Right Outer Join)
WHERE TABLE1.COL1(+)= TABLE2.COL1
왼쪽 외부조인은 오른쪽 열의 데이터 존재 여부에 상관없이 출력 하라는 뜻이다.
오른쪽 외부조인은 오른쪽 열을 기준으로 왼쪽 열 데이터의 존재와 상관없이 데이터를 출력하라는 뜻이다.
* 왼쪽 외부 조인과 오른쪾 외부 조인은 이름과 (+) 기호의 위치를 반대로 작성한다.
* 외부 조인은 조인 기준 열의 NULL을 처리하는 것을 목적으로 자주 사용하는 조인 방식이다.
'Oracle' 카테고리의 다른 글
| 2021/08/04 Oracle - 서브쿼리 (0) | 2021.08.04 |
|---|---|
| 2021/08/03 Oracle - SQL_99 (ANSI) 표준 조인 (0) | 2021.08.03 |
| 2021/07/25 Oracle - 그룹화와 관련된 여러 함수 (0) | 2021.07.25 |
| 2021/07/22 Oracle - 다중 행 함수 (0) | 2021.07.22 |
| 2021/07/21 Oracle - DECODE 함수와 CASE 문 (0) | 2021.07.21 |