서브쿼리, IN, COUNT, GROUP BY ~ HAVING 이용하기
https://school.programmers.co.kr/learn/courses/30/lessons/62284
SELECT CART_ID
FROM (SELECT CART_ID, NAME
FROM CART_PRODUCTS
WHERE NAME IN ('Milk', 'Yogurt')
GROUP BY CART_ID, NAME
) CART_PRODUCTS
GROUP BY CART_ID
HAVING COUNT(NAME) >= 2
ORDER BY CART_ID;
SELECT CART_ID
FROM (SELECT CART_ID, NAME
FROM CART_PRODUCTS
WHERE NAME IN ('Milk', 'Yogurt')
GROUP BY CART_ID, NAME
) CART_PRODUCTS
GROUP BY CART_ID
HAVING COUNT(NAME) >= 2
ORDER BY 1;
문제 사항 : WHERE 절에서 서브 쿼리를 사용해봤지만 계속 정답 처리가 되지 않아서 어떻게 해야 될 지 감이 잡히지 않았다.
해결 : WHERE 절에서 서브쿼리를 사용해봤지만 정답 처리가 되지 않아, CART_ID 와 NAME 을 조회하는 서브쿼리를 테이블 참조 위치인 FROM 다음 위치에 사용하여 조건을 처리하였다.
깨달은 바 : 서브 쿼리를 WHERE 절에서만 이용할 필요는 없다는 것을 깨달을 수 있었다.
'코딩테스트 > programming_SQL' 카테고리의 다른 글
[SQL] 저자 별 카테고리 별 매출액 집계하기_144856 (1) | 2023.11.17 |
---|---|
[SQL] 주문량이 많은 아이스크림들 조회하기_133027 (1) | 2023.11.17 |
[SQL] 서울에 위치한 식당 목록 출력하기_131118 (1) | 2023.11.17 |
[SQL] 년, 월, 성별 별 상품 구매 회원 수 구하기_131532 (0) | 2023.11.17 |
[SQL] 취소되지 않은 진료 예약 조회하기_132204 (0) | 2023.11.17 |