일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- r
- 이력서
- spring MVC(모델2)방식
- jsp 파일 설정
- lda
- Gmarket
- 네이버뉴스
- 과학백과사전
- pytorch
- 코사인 유사도
- 방식으로 텍스트
- word2vec
- Python
- mysql
- oracle
- (깃)git bash
- 파이썬
- Topics
- java
- db
- 지마켓
- 幼稚园杀手(유치원킬러)
- 토픽추출
- 자바
- 크롤링
- tomoto
- 게시판 만들기
- RESFUL
- Websocket
- test
- Today
- Total
무회blog
오라클 DB 조인이란:, LEFT JOIN,OUTER JOIN,INNER JOIN, NATURAL JOIN , USING 본문
오라클 DB 조인이란:, LEFT JOIN,OUTER JOIN,INNER JOIN, NATURAL JOIN , USING
LEFT JOIN(LEFT OUTER JOIN) :
1. 여기서 OUTER 생략 가능 , LEFT는 왼쪽이란 뜻임,
2. 테이블 A /행 700줄 , 테이블 B/ 800줄 , 여기서 LEFT JOIN을 A 기준으로 걸면 행 700 줄로 나오는 원리
문장: SELECT * FROM DEPT A LEFT JOIN EMP B ON B.DEPTNO = A.DEPTNO (여기서 A 테이블이 왼쪽에 있음)
주의사항: 만약 테이블 A 와 테이블 B 의 조인키 DEPTNO(예:ON B.DEPTNO = A.DEPTNO) 에서 B테이블에 해당하는 내용중 DEPTNO 가 중복되었다면 LEFT JOIN 을 걸엇다고 하여도 행수가 늘어날수 있음 , 이때 문제점을 확인 할려면 조인키에 걸린 DEPTNO 가 B테이블에서 왜 중복되었는지 확인 필요 (예: EMP B 테이블에서 여러 사원이 있는데 , 여러 사원은 사원 번호가 있고, 여러 사원 번호는 다르다(이는 사원번호 = 사원 이기때문에 ) , 하지만 사원번호가 다르더라도 부서번호 DEOPTNO 는 같을수 잇다, 이때 DEPTNO가 중복되는 이유는 여러 사원이 한 부서에 소속 되기 때문이다. 하여 DEPTNO가 중복되는 것이다. 이때 LEFT JOIN 을 상기내용처럼 걸면 LEFT JOIN 이 기존 원리보다 많은 행이 출력될수 있다.
RIGHT JOIN: LEFT JOIN 의 반대라고 생각하면 된다.
FULL OUTER JOIN : LEFT JOIN 과 RIGHT JOIN 을 합친거라고 생각하면 된다.
INNER JOIN (교집합) : 왼쪽 테이블과 오른쪽 테이블의 공통적인 데이터만 추출
NATURAL JOIN : 해당 내용도 INNER JOIN 이지만 2테이블간 서로 같은 컬럼을 자동으로 매칭시키는 INNER JOIN 임 . 중복 컬럼은 제거됨
USING: 자동으로 INNER JOIN 할 컬럼을 지정( 2테이블에 공통 컬럼이 있을시 해당 명령으로 지정가능)
추가설명:
차고로 JOIN 은 2 테이블끼리만 진행된다,
테이블 3개 , A, B, C, 를 조인할때도 A 와 B 를 조인한 후 C테이블이랑 조인하는 방식
부족한 내용이나 빠진내용은 댓글 바랍니다. 감사합니다.
'DB' 카테고리의 다른 글
ORACLE 월요일기준 연주차, 요일, 분기 계산 (0) | 2022.12.29 |
---|---|
PL(프로시저/Procedure) (0) | 2022.04.17 |
DB(오라클 기준) 인덱스란 (0) | 2021.07.04 |
DB tnsnames.ora/listener.ora, 오라클 11g 기준 (0) | 2021.05.23 |
DB: 1번_테이블 생성 하고 제약조건 걸기(PK,FK) , 2번_생성된 테이블 값 추가후 조회하기 (0) | 2021.03.31 |