mysql 서브쿼리

프로그래머스-SQL

[프로그래머스-SQL] 프로그래머스 SQL Level1 과일로 만든 아이스크림 고르기 MySQL

문제 https://school.programmers.co.kr/learn/courses/30/lessons/133025 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 서브쿼리로 해결할 수 있었다. 서브쿼리에서 FIRST_HALF(A) 테이블에선 총 주문량이 3000건 이상인 레코드, ICECREAM_INFO(B) 테이블에선 아이스크림의 주 성분이 과일인 레코드들을 조회할 수 있도록 하면 문제를 해결할 수 있다. 테이블 2개를 바탕으로 문제를 해결해야 하기 때문에 조인이나 서브쿼리를 사용해 주어야 해서 레벨1 문제치고는 어려운 문제이다. 쿼리 SEL..

프로그래머스-SQL

[프로그래머스-SQL] 프로그래머스 SQL Level2 상품 별 오프라인 매출 구하기 MySQL

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 서브쿼리를 통해 해결할 수 있었다. 우리는 OFFLINE_SALE 테이블의 PRODUCT_ID 컬럼이 PRODUCT 테이블의 PRODUCT_ID 컬럼의 외래키임을 활용해야 하는데 우리가 구해야하는 것은 상품 별 매출액이기 때문에 OFFLINE_SALE 테이블(B)에선 PRODUCT_ID에 따른(GROUP BY) 판매량을 SUM을 통해 구해주고 서브쿼리로 같이 조회한 PRODUCT 테이..

프로그래머스-SQL

[프로그래머스-SQL] 프로그래머스 SQL Level4 식품분류별 가장 비싼 식품의 정보 조회하기 MySQL

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131116 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 서브쿼리로 나누어서 문제를 해결할 수 있었다. 유심히 봐야할 서브쿼리는 B 테이블인데 MAX 함수를 이용해서 PRICE 컬럼의 최댓값을 가져온다. 대신 식품별로 가져와야하기 때문에 GROUP BY를 사용하여 식품별 PRICE 컬럼의 최댓값을 가져올 수 있도록 해주고, IN 구문을 사용해서 문제에서 요구하는 식품종류만 가져올 수 있도록 처리해줘야 한다. 후에 B 테이블에서 조회된 ROW..

프로그래머스-SQL

[프로그래머스-SQL] 프로그래머스 SQL Level3 있었는데요 없었습니다 MySQL

문제 https://school.programmers.co.kr/learn/courses/30/lessons/59043 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 서브쿼리를 통해 문제를 해결할 수 있었다. ANIMAL_INS와 ANIMAL_OUTS로부터 우리가 필요한 컬럼들인 ANIMAL_ID, NAME, DATETIME 등을 각각의 테이블로 부터 조회하고 이를 바탕으로 보호 시작일보다 입양일이 더 빠른 동물을 찾아내기 위한 조건을 메인 쿼리로부터 수행할 수 있도록 조건을 달아주면 문제를 해결할 수 있다. 쿼리 SELECT A.ANIMAL_ID,..