DataBase/MySQL
[프로그래머스] 과일로 만든 아이스크림 고르기 - MySQL
Dev_en
2023. 2. 1. 19:15
문제 설명
아이스크림 가게의 상반기 주문 정보(출하 번호, 아이스크림 맛, 총주문량)를 담은 테이블과 아이스크림 정보(맛, 주성분)를 담은 테이블이 주어졌을 때,
상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성하는 문제
https://school.programmers.co.kr/learn/courses/30/lessons/133025
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 알고리즘 분류 - SELECT
- 난이도 - Level 1
관련 개념
https://heestory0324.tistory.com/56
[SQL] FROM 콤마(,)와 INNER JOIN의 차이점
SQL에서 두 개 이상의 테이블을 동시에 다루고자 할 때, 콤마(,)와 inner join은 기능적으로 동일하다. 둘 다 Cartesian Product을 수행하기 때문이다. 즉, 첫번째 테이블의 모든 열은 두번째 테이블의 모
heestory0324.tistory.com
접근 방법
두 테이블을 JOIN 한 후 문제 조건 그대로 WHERE 절과 ORDER BY 절을 쓰면 된다.
답안 코드 1. 콤마(,) 사용
SELECT FIRST_HALF.FLAVOR
FROM FIRST_HALF, ICECREAM_INFO
WHERE FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR and ICECREAM_INFO.INGREDIENT_TYPE = 'fruit_based' AND FIRST_HALF.TOTAL_ORDER > 3000
ORDER BY FIRST_HALF.TOTAL_ORDER DESC
답안 코드 2. INNER JOIN 사용
SELECT FIRST_HALF.FLAVOR
FROM FIRST_HALF
INNER JOIN ICECREAM_INFO
ON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR
WHERE ICECREAM_INFO.INGREDIENT_TYPE = 'fruit_based' AND FIRST_HALF.TOTAL_ORDER > 3000
ORDER BY FIRST_HALF.TOTAL_ORDER DESC