MINUS 연산 결과 0 1 1,209

by 날막아봐 [Oracle 기초] MINUS [2020.09.02 13:05:46]


MINUS가 차집합이라는 것은 알겠는데 실제 표 끼리의 차집합에서 어떻게 결과값이 도출되는지 모르겠습니다.

 

TABLE.T1

C1   C2

A     1

B     1

B     2

C     2

Z     

 

TABLE T2

C1    C2

A      1

B      1

B      1

B      1

C      1

Z      

 

두 개의 표과 나와 있고 

SELECT C1,C2 FROM T1 MINUS

SELECT C1,C2 FROM T2 UNION ALL

SELECT C1,C2 FROM T2 MINUS 

SELCET C1.C2 FROM T1;

 

이 SQL문의 결과값을 찾는 것이 문제입니다.

먼저 C1,C2 값을 각각 테이블에서 도출되고 공통되는 것에 대해 빼면 행끼리 같은 것이 없어진다고 생각해서 B 2 로우와 C 2 로우가 남는다고 생각해 2 이상의 값이 나온다고 생각했습니다. 근데 답은 1이었습니다. 제가 무엇을 잘못 생각하고 있는걸까요?

by 마농 [2020.09.02 13:51:17]

예상하신 결과는 첫번째 MINUS 만 적용한 결과입니다.
최종 결과는 UNION ALL 과 MINUS 를 차례대로 더 수행해야 하죠.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입