두 테이블 table_a, table_b 가 union-compatible 하다고 할 때,
이 둘을 레코드 단위로 비교해 보자.
즉, 대응하는 컬럼의 값이 하나라도 다른 레코드를 찾아내는 것이다.
이런 작업은 보통 migration 이나, 테이블 복사 작업 후에 달라진 데이타가 있는지를
검증할 때 주로 필요하다.
쿼리 결과로는 두 개의 테이블 양쪽에서 컬럼의 값이 하나라도 다른, 모든 레코드를
출력하는 것이다.
생각하기에 굉장히 어렵거나 plsql을 사용해야 할지 모른다는 느낌을 받을 수 있으나,
실제로는 아주 간단한 문제가 되겠다.
쿼리는 아래와 같다.
(
select * from table_a
minus
select * from table_b
)
union all
(
select * from table_b
minus
select * from table_a
)
다음검색