Contents
내가 작성한 쿼리

2019년 구매자로서 각 사용자, 가입 날짜 및 주문 수를 찾기 위한 솔루션을 작성하세요. 결과 테이블을 순서에 상관없이 반환하세요.
내가 작성한 쿼리
MySQL
SELECT u.user_id AS buyer_id, u.join_date, IFNULL(COUNT(o.order_id), 0) AS orders_in_2019 FROM Users u LEFT JOIN Orders o ON u.user_id = o.buyer_id AND YEAR(o.order_date) = 2019 -- 19년도 인것만 GROUP BY u.user_id, u.join_date;
Oracle
SELECT u.user_id AS buyer_id, TO_CHAR(u.join_date, 'YYYY-MM-DD') AS join_date, NVL(COUNT(o.order_id), 0) AS orders_in_2019 FROM Users u LEFT JOIN Orders o ON u.user_id = o.buyer_id AND EXTRACT(YEAR FROM o.order_date) = 2019 GROUP BY u.user_id, u.join_date;
차이점
항목 | MySQL | Oracle |
연도 추출 함수 | YEAR(date_col) | EXTRACT(YEAR FROM date_col) |
NULL 대체 함수 | IFNULL(expr, 0) | NVL(expr, 0) |
날짜 표시 방식 차이 | '2019-08-16' | TO_DATE('2019-08-16', 'YYYY-MM-DD') |
Share article