• Join
    • 관계형 데이터베이스의 핵심 기능
    • 여러 테이블에 분산되어있는 자료를 조회하는 방식
    • 조인에 참여하는 테이블들은 반드시 관계가 존재해야 함
    • 테이블 개수가 N개일 때 관계 조건은 적어도 N-1개 이상이 되어야 한다
    • 일반 조인 / ANSI 조인, 내부 조인 / 외부 조인으로 구분
    • 조인 조건 구성에 사용되는 연산자에 따라 동등 조인 / 비 동등 조인으로 구분
  • 내부 조인(INNER JOIN)
    • 각 DBMS회사에서 자사 DBMS에 최적화되도록 구성한 문법
      1. CARTESIAN PRODUCT
        • 조인 조건이 없거나 조인 조건을 잘못 기술했을 때 발생
        • 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋다
        • ANSI의 CROSS JOIN에 해당한다
      2. EQUI-JOIN(동등 조인)
        • 일반 내부 JOIN
        • SELECT [테이블명 | 테이블 별칭]컬럼 명 [AS 컬럼 별칭],
          	   [테이블명 | 테이블 별칭]컬럼 명 [AS 컬럼 별칭],
                 						:
                                      :
            FROM 테이블 명[별칭], 테이블 명[별칭], ...
           WHERE 조인 조건
            [AND 일반 조건] 
          [GROUP BY 컬럼명, [컬럼명, ...]]
          [HAVING 조건]
           [ORDER BY 컬럼명 | 컬럼 인덱스 [ASC | DESC]]
        • ANSI INNER JOIN
        • SELECT [테이블명 | 테이블 별칭]컬럼 명 [AS 컬럼 별칭],
          	   [테이블명 | 테이블 별칭]컬럼 명 [AS 컬럼 별칭],
                 						:
                                      :
            FROM 테이블 명[별칭]
           INNER JOIN 테이블명[별칭] ON(조인조건 [AND 일반조건])
           WHERE 조인 조건
            [AND 일반 조건] 
          [GROUP BY 컬럼명, [컬럼명, ...]]
          [HAVING 조건]
           [ORDER BY 컬럼명 | 컬럼 인덱스 [ASC | DESC]]
        • INNER JOIN의 경우 이렇게 두 가지 방법으로 사용이 가능하다
      3. NON-EQUI-JOIN(비 동등 조인)
        • 조인 조건에 =연산자 이외의 연산자가 사용되는 조인
        • EXISTS, IN, ANY, SOME 등이 주로 사용된다
          • EXISTS(서브 쿼리)
            • TRUE / FALSE 반환
            • 무조건 서브 쿼리가 들어가야 되며 하나의 행이라도 존재하면 TRUE 아니면 FALSE
            • WHERE절에 사용

'DataBase > Oracle' 카테고리의 다른 글

16. 서브쿼리  (0) 2021.07.24
15. Join - 외부조인  (0) 2021.07.24
13. Function - NULL 처리 함수  (0) 2021.07.24
12. Function - 집계함수  (0) 2021.07.24
11. Function - 변환함수  (0) 2021.07.24

+ Recent posts