MySQL Version : 5.7
기존 MsSQL 프로젝트을 MySQL로 Porting 작업을 진행하게 된다면 EXCEPT를 언젠가 마주치게 된다.
EXCEPT는 차집합의 개념으로 만약 TableA가 있다면 TableA의 Row 중 TableB의 Row와 같지 않거나 TableA 에는 있는데 TableB에는 없는 데이터를 리턴하는 기능을 한다.
MySQL 에서는 EXCEPT를 지원하지 않기에 똑같이 기능을 하도록 작성할 수 있다.
MsSQL 용 :
SELECT USER_ID FROM TABLEA WHERE USER_ID = #{UserId} EXCEPT SELECT USER_ID FROM TABLEB WHERE USER_ID = #{UserId} |
MySQL 용 :
SELECT DISTINCT USER_ID FROM ( SELECT USER_ID FROM TABLEA WHERE USER_ID = #{UserId} ) A WHERE NOT EXISTS ( SELECT 1 FROM TABLEB B WHERE B.USER_ID = A.USER_ID ) |
'우당탕탕 개발생활 > _Database' 카테고리의 다른 글
[MySQL] MsSQL의 FULL OUTER JOIN 사용하기 (0) | 2022.01.18 |
---|---|
[MySQL] Access is denied 오류 해결 방법 (0) | 2022.01.06 |
[MySQL] Error Code: 1093. 해결방법 _DELETE문 (0) | 2021.12.21 |