SELECT FH.FLAVOR
FROM FIRST_HALF AS FH
INNER JOIN (SELECT FLAVOR
FROM ICECREAM_INFO
WHERE INGREDIENT_TYPE = 'fruit_based') AS II
ON FH.FLAVOR = II.FLAVOR
WHERE TOTAL_ORDER >= 3000
ORDER BY 1;
풀이
아이스크림 주문 테이블과 성분 테이블이 나누어져 있어 INNER JOIN을 사용했다. 이때 성분이 과일 베이스 인걸 골라야 하기때문에 조인 문 안에 서브쿼리를 집어넣어 문제를 해결하고 총주문량이 3000이상인 조건은 단순히 Where문에 넣어 처리 했다. 정답은 쉽게 맞추었는데 다른분 풀이를 보니 WHERE 문에 조건을 두개 넣어 IN 조건을 통해 과일 베이스 데이터를 뽑은 것을 보고 이렇게도 짤 수 있구나 생각했다. 해당 쿼리는 아래 첨부한다.
SELECT FLAVOR
FROM FIRST_HALF
WHERE TOTAL_ORDER >= 3000 and FLAVOR IN (SELECT FLAVOR
FROM ICECREAM_INFO
WHERE INGREDIENT_TYPE = 'fruit_based')
ORDER BY 1;