SQL Developer/SQLD 공부

SQLD 자격증 공부 (4일차)

aieo 2023. 10. 27. 14:10
반응형

순수 관계 연산자

  • SELECT
    • SELECT 연산은 WHERE 절로 구현
  • PROJECT
    • PROJECT 연산은 SELECT 절로 구현
  • JOIN
    • JOIN 연산은 다양한 JOIN 기능으로 구현
  • DIVIDE
    • DIVIDE 연산은 현재 사용되지 않음

CROSS JOIN

  • CROSS JOIN은 E.F.CODD 박사가 언급한 일반 집합 연산자의 PRODUCT의 개념으로 테이블 간 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합을 말한다.
  • 조건절이 없거나 CROSS JOIN 키워드를 사용할 수 있다.
  • 테이블 간 JOIN 조건이 없는 경우 생길 수 잇는 모든 데이터의 조합을 말한다. 결과는 양쪽 집합의 M*N건의 데이터 조합이 발생

LEFT OUTER JOIN

  • 조인 수행시 먼저 표기된 좌측 테이블에 해당하는 데이터를 먼저 읽은 후, 나중 표기된 우측 테이블에서 JOIN 대상 데이터를 읽어 온다. 즉, Table A와 B가 있을 때 (Table A가 기준이 된다)
  • A와 B를 비교해서 B의 JOIN 칼럼에서 같은 값이 있을 때 그 해당 데이터를 가져오고, B의 JOIN 칼럼에서 같은 값이 없는 경우 B테이블에서 가져오는 칼럼들은 NULL 값으로 채운다.

FULL OUTER JOIN

  • 조인 수행시 좌측, 우측 테이블의 모든 데이터를 읽어 JOIN하여 결과를 생성한다. 즉, TABLE A와 B가 있을 때 (TABLE A, B 모두 기준이 된다)
  • RIGHT OUTER JOIN과 LEFT OUTER JOIN의 결과를 합집합으로 처리한 결과와 동일하다.

EXCEPT

  • EXCEPT : 앞의 SQL문의 결과에서 뒤의 SQL문의 결과에 대한 차집합이다. 중복된 행은 하나의 행으로 만든다.
  • EXCEPT는 차집합의 대한 연산이므로 NOT IN 또는 NOT EXISTS로 대체하여 처리가 가능하다.

SET OPERATOR

  • 합집합 : UNION
  • 교집합 : INTERSENCT
  • 차집합 : MINUS / EXCEPT

UNION ALL을 사용하는 경우

  • UNION ALL 전에 쿼리를 컬럼 사용, ALIAS가 있으면 ALIAS 사용, 정렬 기준은 마지막 SQL 쿼리 결과 표시

반응형