Database/MariaDB
MariaDB ColumnStore에서 Outer Join 사용시 주의할 점
데브포유
2019. 12. 5. 22:46
반응형
- Outer Join 사용시 Inner Table의 숫자 컬럼을 sum() 할 때 null 값에 주의해야 합니다.
SELECT T1.ORDER_ID ,SUM(T2.PRDT_PRICE) FROM T_ORDER T1 LEFT JOIN T_ORDER_DETAIL T2 ON (T1.ORDER_ID = T2.ORDER_ID) GROUP BY T1.ORDER_ID ; SELECT T1.ORDER_ID ,SUM(COALESCE(T2.PRDT_PRICE,0)) FROM T_ORDER T1 LEFT JOIN T_ORDER_DETAIL T2 ON (T1.ORDER_ID = T2.ORDER_ID) GROUP BY T1.ORDER_ID |
일반적으로 SUM()이나 COUNT()함수는 null 값이 있으면, 그 row는 skip하는 데, MariaDB ColumnStore에서는 Inner Table
값에 null이 있으면 0이 되어 버립니다.
InnoDB엔진으로 생성한 테이블 조회시에는 타 RDMS처럼 0이 되지 않습니다.
반응형