상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요.
# 상반기 아이스크림 총주문량이 3,000보다 높으면서
# 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회
SELECT FH.FLAVOR
FROM FIRST_HALF AS FH INNER JOIN ICECREAM_INFO AS II USING (FLAVOR)
WHERE FH.TOTAL_ORDER > 3000 AND II.INGREDIENT_TYPE= 'fruit_based'
ORDER BY FH.TOTAL_ORDER DESC;
앗, JOIN하는 법을 잊어버렸다🙀 SQL을 놓은지 4개월여만에 다시 공부하려고 시작하니 기억나지 않은 부분이 많았다..
해당 문제는 INNER JOIN을 해서 푸는 문제인데, 내가 ON절을 사용해 어떤 속성을 사용해서 JOIN할지 정하지 않아서 틀렸다.
JOIN이라고만 써도 INNER JOIN으로 인식ON절을 활용한 INNER JOINUSING ()보다 조인 조건을 자유롭게 설정가능FLAVOR)가 두 번 출력됨SELECT A.컬럼명, B.컬럼명, ...
FROM 테이블A AS A INNER JOIN 테이블B AS B
ON A.공통컬럼 = B.공통컬럼;
# 해당 문제에 적용
SELECT FH.FLAVOR
FROM FIRST_HALF AS FH INNER JOIN ICECREAM_INFO AS II
ON FH.FLAVOR = II.FLAVOR
WHERE FH.TOTAL_ORDER > 3000 AND II.INGREDIENT_TYPE= 'fruit_based'
ORDER BY FH.TOTAL_ORDER DESC;
USING()을 활용한 INNER JOINFLAVOR)이 동일해야함.FLAVOR)가 한 번만 출력.SELECT A.컬럼명, B.컬럼명, ...
FROM 테이블A AS A
INNER JOIN 테이블B AS B
USING (공통컬럼); # 반드시 괄호를 써주어야 함.
# 해당 문제에 적용
SELECT FH.FLAVOR
FROM FIRST_HALF AS FH INNER JOIN ICECREAM_INFO AS II
USING (FLAVOR)
WHERE FH.TOTAL_ORDER > 3000 AND II.INGREDIENT_TYPE = 'fruit_based'
ORDER BY FH.TOTAL_ORDER DESC;