<JOIN>
- 여러 테이블에 흩어져 있는 데이터들을 조합해서 가져오는 기술이다.
- ORACLE JOIN 문법과 ANSI JOIN문법이 있다.
프로그램마다 문법이 다르면 매번 배워야하는 번거로움이 있기 때문에 표준으로 정한 문법이
ANSI JOIN 문법이다.
- 데이터베이스는 OBJECT를 저장할 수 없다.
그렇기 때문에 FK로 접근해야한다.
- 제약조건 : OBJECT를 사용할 수 없기 때문에 번호를 사용해서 값을 찾는다.
EX) EMP 테이블의 FK값으로 DEPT 테이블의 PK를 참조해서 찾는다.


- DEPT D : 선행테이블
(DRIVE 테이블)
- EMP E : 후행테이블
* 오른쪽 테이블에 프라이머리키(PK)가 있으면 좋다 -> 연산이 줄어들기 때문에
- ANSI JOIN

*WHERE 절 대신 ON 을 사용한다.
(밑에 WHERE을 사용해도 무방)
<INNER JOIN - 동일 JOIN>
- 가장 많이 사용되는 조인으로 선행 테이블에서 데이터를 가져온 후 조인 조건절을 검사해서 동일한 조건을 가진 데이터를 후행 테이블에서 꺼내오는 것

<OUTER JOIN - 외부조인>

- (+)붙은쪽의 NULL값이 다 나옴
- 오른쪽 데이터를 전부 출력

- 왼쪽 데이터를 전부 출력
* INNER JOIN만 하면 못 보는 데이터값이 생기기 때문에 OUTTER JOIN 해줘야 한다.
- INNER JOIN 예시

- 3번 유저가 나오지 않는다
- 3번 유저까지 나오기 위해서는 OUTER JOIN 을 사용해야한다.

* 댓글 안 단사람 찾는 법

+ 집합연산자로도 찾을 수 있다
* MINUS : 두 집합의 차집합 결과를 출력 및 정렬 (교집합)

*2개 이상의 테이블 JOIN

- ANSI JOIN 의 (LEFT / RIGHT OUTER JOIN)

* 테이블 만들기
- 왼쪽에서 테이블 추가해서 만들 수 있고, 아래처럼 작성해서 만들 수도 있다.


<DML>
- 시퀀스 삽입

- 새로만든 테이블에 값을 넣어준다.
- 값 삽입 후 COMMIT!

<SELF JOIN>
- 데이터를 가지고 있는 하나의 테이블을 메모리에서 별명을 두개로 사용하여 호출하는 방법이다.

<FULL JOIN>
- 양쪽을 다 볼 수 있다.

'응용SW기초 기술활용 > 데이터베이스 기초 활용' 카테고리의 다른 글
오라클 - DML (0) | 2020.04.02 |
---|---|
오라클 - ORA - 01031 : 권한이 불충분합니다 해결법 (0) | 2020.04.02 |
오라클 - 정렬순서, LAG 함수 (0) | 2020.04.01 |
오라클 - 피벗함수(PIVOT) (0) | 2020.03.26 |
오라클 - ROLLUP 함수 (0) | 2020.03.26 |