도서/모두를 위한 postgreSQL

Day12. 여러 개의 테이블을 로우로 연결하기

joje* 2023. 8. 10. 23:38

1. 명령어의 전제조건

  • 두 sql은 서로 컬럼의 개수가 동일해야 한다.
  • 같은 위치에 동일한 형식과 의미의 정보가 담겨야 한다.

2. UNION, UNION ALL절

: 두 테이블의 데이터를 합칠 때 사용

: UNION의 경우 중복된 데이터를 한 줄로 합쳐서 표시하고, UNION ALL의 경우 중복된 데이터를 합치지 않고 반복해서 표시한다.

: UNION의 경우 두 개의 데이터를 합치고 난 후 합친 로우들을 모두 검사해 중복을 제거하는 방식이라 UNION ALL에 비해 속도가 느리다.

 

3. INTERSECT, INTERSECT ALL절

: 두 테이블의 공통된 영역만 남길 때 사용

: INTERSECT의 경우 중복된 데이터를 한 줄로 합쳐서 표시하고, INTERSECT ALL의 경우 중복 제거를 하지 않는다.

 

4.EXCEPT,EXCEPT ALL절

: 두 테이블의 로우 중 중복되지 않는 부분만을 출력할 때 사용

: EXCEPT 명령어는 중복을 제거한 명령어, EXCEPT ALL은 중복을 제거하지 않는 명령어이다.