2025/03 5

[MySQL] 프로그래머스 물고기 종류 별 대어 찾기

문제:물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력- 결과는 물고기의 ID에 대해 오름차순 정렬- 물고기 종류별 가장 큰 물고기는 1마리만 있음 해결방법:1. 물고기 종류 별 가장 큰 물고기 GROUP BY, MAX 로 조회2. 가장 큰 물고기 ID 는 서브쿼리로 조회3. 물고리 이름 테이블과 다시 한번 조인하여 조회 예시코드:SELECT ID, FISH_NAME, LENGTHFROM ( SELECT ID, T1.FISH_TYPE, LENGTH FROM FISH_INFO T1 INNER JOIN ( SELECT FISH_TYPE, MAX(LENGTH) MAX_LENGTH FROM FISH_INFO INFO GROUP BY FIS..

[SQL] 연습 2025.03.30

[MySQL] 프로그래머스 업그레이드 할 수 없는 아이템 구하기

문제:더 이상 업그레이드할 수 없는 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력- 아이템 ID를 기준으로 내림차순 정렬 해결방법:1. 더 이상 업그레이드 할 수 없는 아이템은 PARENT_ITEM_ID 에 아이템 ID 가 없음2. LEFT JOIN 후 IS NULL 사용하여 아이템 ID 가 없는 레코드만 조회 예시 코드:SELECT INFO.ITEM_ID, INFO.ITEM_NAME, INFO.RARITYFROM ITEM_INFO INFOLEFT JOIN ITEM_TREE TREEON INFO.ITEM_ID = TREE.PARENT_ITEM_IDWHERE TREE.PARENT_ITEM_ID IS NULLORDER BY INFO.ITEM_ID..

[SQL] 연습 2025.03.28

[MySQL] 프로그래머스 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기

문제:FISH_INFO에서 평균 길이가 33cm 이상인 물고기들을 종류별로 분류하여 잡은 수, 최대 길이, 물고기의 종류를 출력- 물고기 종류에 대해 오름차순으로 정렬- 10cm 이하의 물고기들은 10cm로 취급 해결방법:1. COUNT, AVG, MAX, GROUP BY 를 사용하여 물고기 종류별 평균 길이와 최대 길이 조회2. 조회한 테이블에서 WHERE 로 평균 길이가 33cm 이상인 물고기만 조회3. ORDER BY 로 오름차순 정렬 예시 코드:SELECT FISH_COUNT, MAX_LENGTH, FISH_TYPEFROM ( SELECT COUNT(1) FISH_COUNT, FISH_TYPE, AVG(IFNULL(LENGTH, 10)) AVG_LENGTH, MAX(IFNULL(LENG..

[SQL] 연습 2025.03.23

[MySQL] 프로그래머스 주문량이 많은 아이스크림들 조회하기

문제:7월 아이스크림 총 주문량과 상반기의 아이스크림 총 주문량을 더한 값이 큰 순서대로 상위 3개의 맛을 조회 해결방법:1. 아이스크림 주문량 테이블들을 UNION ALL2. SUM, GROUP BY 로 총 주문량을 계산3. ORDER BY 와 LIMIT 으로 상위 3개의 맛을 조회 예시 코드:SELECT FLAVORFROM ( SELECT FLAVOR, SUM(TOTAL_ORDER) TOTAL_ORDER FROM (SELECT * FROM FIRST_HALF UNION ALL SELECT * FROM JULY) T GROUP BY FLAVOR ORDER BY TOTAL_ORDER DESC) T2LIMIT 3;

[SQL] 연습 2025.03.02

[MySQL] 프로그래머스 조건에 부합하는 중고거래 댓글 조회하기

문제:USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회- 댓글 작성일을 기준으로 오름차순 정렬- 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬 해결방법:1. 게시글 ID 를 기준으로 BOARD 테이블과 REPLY 테이블을 조인2. WHERE 절에서 CREATED_DATE 에 대한 기간 기준 설정3. ORDER BY 에서 정렬 기준 설정 예시코드:SELECT TITLE, REPLY.BOARD_ID, REPLY_ID, WRITER_ID, CONTENTS, DATE_FORMAT(REPLY.CREATED_DATE, '%Y-%m-%d') AS CREATED_D..

[SQL] 연습 2025.03.01
1