파게로그

join 본문

콤퓨타 왕기초/SQLD/JDBC/Oracle DB

join

파게 2021. 3. 19. 17:18

wisoft.tistory.com/entry/database-sql-join-method

 

JOIN

  • 여러 개의 릴레이션을 사용해서 새로운 릴레이션을 만드는 과정
  • cartesian product를 바탕으로 생각하면 쉬움

 

INNER JOIN

공통 컬럼의 값이 같은 것을 추출

  • EQUI JOIN
    - 공통 컬럼의 동등 비교
    - explicit notation
    SELECT * FROM EMP INNER JOIN DEPT ON WHERE EMP.deptno = DEPT.deptno;
    - implicit notation
    SELECT * FROM EMP, DEPT WHERE EMP.deptno = DEPT.deptno;
  • NATURAL JOIN
    - EQUI JOIN 결과에서 동일 칼럼의 중복을 제거
    - explicit notation
    SELECT * FROM EMP NATURAL JOIN DEPT;
  • cf. NON-EQUI JOIN(THETA JOIN)
    - 공통 컬럼의 부등호 등 사용 비교
  • CROSS JOIN
    - Cartesian Product와 동일
    - explicit notation
    SELECT * FROM EMP CROSS JOIN DEPT
    - implicit notation
    SELECT * FROM EMP, DEPT
  • SELF JOIN
    - 자가 조인. 같은 테이블 내에서 데이터를 추출
    - explicit notation
    SELECT E.ename, E.age, E.salary, D.deptname FROM EMP E INNER JOIN DEPT D ON E.deptno = D.deptno;
    - implicit notation
    SELECT E.ename, E.age, E.salary, D.deptname FROM EMP E, DEPT D WHERE E.deptno = D.deptno;

 

OUTER JOIN

필연적으로 NULL값이 발생한다

  • FULL OUTER JOIN
    - 두 테이블 중 한 쪽 테이블에만 존재하는 데이터를 포함
  • LEFT OUTER JOIN
    - 왼쪽 테이블에 존재하는 데이터는 모두 추출(오른쪽 테이블의 속성에는 null)
  • RIGHT OUTER JOIN

 

순수관계연산자

---

 

 

일반집합연산자(칼럼의 수나 칼럼의 데이터 형식이 모두 일치해야 함)

 

UNION - 합집합, 중복 제거, SORT 유발

SELECT DEPTNO FROM EMP UNION SELECT DEPTNO FROM EMP;

 

UNION ALL - 중복 제거 x, SORT 유발 x

SELECT DEPTNO FROM EMP UNION ALL SELECT DEPTNO FROM EMP:

 

MINUS

...

'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글

subquery  (0) 2021.03.21
계층형 조회(CONNECT BY)  (0) 2021.03.21
TCL(Transaction Control Language)  (0) 2021.03.18
DCL(Data Control Language)  (0) 2021.03.18
WITH 구문  (0) 2021.03.18
Comments