[SQL] JOIN

qwe8851·2022년 8월 9일
0

🗄️ DB

목록 보기
2/9

INNER JOIN

두 개의 관련있는 키가 있는 테이블에서 컬럼의 값을 비교 후
join 조건에 맞는 행만 검색
SQL서버의 기본 조인 방식

EQUI JOIM

  • 조인 대상 테이블의 칼럼 값들이 서로 정확하게 일치하는 경우에 사용
  • where절에 =연산자를 사용해 조인조건을 명시
  • PK, FK로 지정된 칼럼을 조인으로 많이 사용
  • EQUI JOIN 성능을 높이려면 INDEX 기능을 사용하는 것이 좋음

NON EQUI JOIM

  • 조인 대상 테이블의 어떤 칼럼 값도 일치하지 않을 떄 사용
  • =연산자 이외의 연산자를 사용
  • 사용빈도가 매우 낮음
  • 연산자 : BETWEEN AND, IS NULL, IS NOT NULL, NOT, IN, <, >, <=, >=

NATURAL JOIM

  • EQUI JOIN에서 JOIN조건이 =일 때 동일한 속성이 두 번 나타나게 되는데
    이 중 중복을 제거하여 같은 속성을 한 번만 표시하게 하는 것
  • NATURAL JOIN은 두 테이블의 동일한 이름을 가지는 컬럼이 모두 조인됨
    동일한 칼럼을 내부적으로 찾게 되므로 테이블 별칭(Alias)를 주면 오류 발생
  • NATURAL JOIN의 단점은 동일한 이름을 가지는 컬럼은 모두 조인이 되는데,
    USING문을 사용하면 칼럼을 선택해서 조인할 수 있음(USING절 안에 포함되는 칼럼에 별칭을 주면 오류 발생)

SELF JOIN

  • 같은 테이블에서 2개의 속성을 연결하여 EQUL JOIN을 하는 것
  • 자기 자신과 조인




OUTER JOIN

조인 조건을 만족하지 않는 데이터를 처리하기 위한 조인임.

INNER조인은 두 테이블에 있는 일치하는 값만 가져오는데,
OUTER조인은 어느 한 쪽의 데이터를 모두 가져옴.

JOIN조건에 일치하지 않는 값을 추가할 때 사용

LEFT OUTER JOIN

  • 왼쪽에 표기된 데이터를 기준으로 OUTER JOIN

RIGHT OUTER JOIN

  • 오른쪽에 표기된 데이터를 기준으로 OUTER JOIN

FULL OUTER JOIN

  • 양쪽 테이블의 모든 값을 읽어 JOIN
  • LEFT OUTER JOIN과 RIGHT OUTER JOIN의 결과를 합집합으로 처리한 결과와 동일

CROSS JOIN

상호 조인이라고도 불림
한쪽 테이블의 모든 행등과 다른 테이블의 모든 행을 조인시키는 기능을 함

그래서 크로스조인의 결과 개수는 두 테이블의 행의 개수를 곱한 개수가 됨.

profile
FrontEnd Developer with React, TypeScript

0개의 댓글