✅ 코드
SELECT product_id
, product_name
FROM Product
WHERE product_id NOT IN (
SELECT product_id
FROM Sales
WHERE sale_date NOT BETWEEN '2019-01-01 00:00:00' AND '2019-03-31 23:59:59'
) AND product_id IN (SELECT DISTINCT product_id FROM Sales)
첫 번째 풀이입니다.
다중행 서브쿼리를 사용한 풀이입니다.
WHERE문에 조건을 2개 설정했는데 다소 복잡해보이는 감이 있습니다.
SELECT P.product_id AS product_id
, P.product_name as product_name
FROM Product AS P
INNER JOIN Sales AS S ON P.product_id = S.product_id
GROUP BY product_id
HAVING MIN(S.sale_date) >= '2019-01-01 00:00:00'
AND MAX(S.sale_Date) <= '2019-03-31 23:59:59'
두 번째 풀이입니다.
GROUP BY와 HAVING문을 사용했습니다.
이전 풀이에 비해 가독성이 높아졌습니다.
HAVING문의 MIN/MAX 함수는 2019년 1분기에 구매한 품목들만 필터링하기 위해 사용했습니다.
'알고리즘' 카테고리의 다른 글
[SQL]LeetCode Friend Requests II: Who has the Most Friends (0) | 2024.01.21 |
---|---|
[SQL]LeetCode Managers with at least 5 direct reports (0) | 2024.01.19 |
[SQL]LeetCode Game Play Analysis IV (0) | 2024.01.18 |
[SQL]LeetCode Trips and Users (0) | 2024.01.18 |
[SQL]프로그래머스 Lv.4 자동차 대여 기록별 대여 금액 구하기 (0) | 2024.01.16 |
✅ 코드
SELECT product_id
, product_name
FROM Product
WHERE product_id NOT IN (
SELECT product_id
FROM Sales
WHERE sale_date NOT BETWEEN '2019-01-01 00:00:00' AND '2019-03-31 23:59:59'
) AND product_id IN (SELECT DISTINCT product_id FROM Sales)
첫 번째 풀이입니다.
다중행 서브쿼리를 사용한 풀이입니다.
WHERE문에 조건을 2개 설정했는데 다소 복잡해보이는 감이 있습니다.
SELECT P.product_id AS product_id
, P.product_name as product_name
FROM Product AS P
INNER JOIN Sales AS S ON P.product_id = S.product_id
GROUP BY product_id
HAVING MIN(S.sale_date) >= '2019-01-01 00:00:00'
AND MAX(S.sale_Date) <= '2019-03-31 23:59:59'
두 번째 풀이입니다.
GROUP BY와 HAVING문을 사용했습니다.
이전 풀이에 비해 가독성이 높아졌습니다.
HAVING문의 MIN/MAX 함수는 2019년 1분기에 구매한 품목들만 필터링하기 위해 사용했습니다.
'알고리즘' 카테고리의 다른 글
[SQL]LeetCode Friend Requests II: Who has the Most Friends (0) | 2024.01.21 |
---|---|
[SQL]LeetCode Managers with at least 5 direct reports (0) | 2024.01.19 |
[SQL]LeetCode Game Play Analysis IV (0) | 2024.01.18 |
[SQL]LeetCode Trips and Users (0) | 2024.01.18 |
[SQL]프로그래머스 Lv.4 자동차 대여 기록별 대여 금액 구하기 (0) | 2024.01.16 |