두 테이블간 중복값 제외값 출력하고 싶습니다. 0 3 729

by rotic [SQL Query] [2021.12.02 16:11:41]


안녕하십니까

두 테이블간 중복값을 제외값 제외하고 출력하고 싶은데요.

예를 들어,

<a테이블>   <b테이블>
e_date emp_no   e_date emp_no
20211108 120180006   20211103 120210002
20211108 120190026   20211112 120140063
20211109 120130017   20211116 120140063
20211112 120140063   20211117 119830001
20211116 120140063   20211125 120100035
20211117 119830001   20211125 120210003
20211117 120050006   20211130 120140063
20211117 120140063      
20211125 120210003      

a, b테이블 간에 e_date, emp_no 2개 컬럼이 동시에 중복되는 값을 제외한 값을 출력하고 싶습니다.

고수님들의 조언 부탁드립니다.

수고하세요.

 

by 마농 [2021.12.02 16:41:14]

원하시는 결과도 표로 보여주세요.


by rotic [2021.12.03 07:22:11]
e_date emp_no
20211108 120180006
20211108 120190026
20211109 120130017
20211117 120050006
20211117 120140063

이렇게 결과값을 표출하고 싶습니다.

수고하십시요.


by 마농 [2021.12.03 08:08:29]
-- 1. Minus --
SELECT e_date, emp_no FROM a
 MINUS
SELECT e_date, emp_no FROM b
;
-- 2. Not In --
SELECT e_date
     , emp_no
  FROM a
 WHERE (e_date, emp_no) NOT IN (SELECT e_date, emp_no FROM b)
;
-- 3. Not Exists --
SELECT e_date
     , emp_no
  FROM a
 WHERE NOT EXISTS (SELECT 1
                     FROM b
                    WHERE e_date = a.e_date
                      AND emp_no = a.emp_no
                   )
;
-- 4. Outer Join & Is Null --
SELECT a.e_date
     , a.emp_no
  FROM a
  LEFT OUTER JOIN b
    ON a.e_date = b.e_date
   AND a.emp_no = b.emp_no
 WHERE b.emp_no IS NULL
;

 

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