본문 바로가기

문제 풀이/프로그래머스49

[MYSQL 18] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (LEVEL3) 컬럼명은 물고기의 종류 'FISH_TYPE', 잡은 수 'FISH_COUNT', 최대 길이 'MAX_LENGTH' 출력FISH_INFO에서 평균 길이가 33cm 이상인 물고기들을 종류별로 분류 (평균 구할 때 10cm이하의 물고기들은 10cm로 취급)정렬은 물고기 종류 오름차순   정답 코드SELECT count(*) AS FISH_COUNT, MAX(LENGTH) AS MAX_LENGTH, FISH_TYPEFROM FISH_INFOGROUP BY FISH_TYPEHAVING AVG(IFNULL(LENGTH, 10)) >= 33ORDER BY FISH_TYPE MEMONULL 값 대체하기 : IFNUlL(칼럼명, NULL 대체값)IF(.. 2024. 9. 12.
[MYSQL 17] 부서별 평균 연봉 조회하기 부서별 평균 연봉 조회하기 (LEVEL3)   부서별로 부서 ID, 영문 부서명, 평균 연봉을 조회하는 SQL문을 작성해주세요.평균연봉은 소수점 첫째 자리에서 반올림하고 컬럼명은 AVG_SAL로 해주세요.부서별 평균 연봉을 기준으로 내림차순 정렬 정답 코드SELECT D.DEPT_ID, D.DEPT_NAME_EN, ROUND(AVG(SAL), 0) AS AVG_SALFROM HR_DEPARTMENT D JOIN HR_EMPLOYEES E ON D.DEPT_ID = E.DEPT_IDGROUP BY D.DEPT_IDORDER BY AVG_SAL DESC MEMO- ROUND(숫자, 자리수) : 자리수에서 반올림한다. (소수점은 양의정수, 정수는 음의 정수)- TRUNCATE(숫자, 자리수) : 자리수에서 버.. 2024. 9. 9.
[MYSQL 16] 조건에 맞는 사용자와 총 거래금액 조회하기 조건에 맞는 사용자와 총 거래금액 조회하기  (LEVEL3) USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성해주세요. 총거래금액을 기준으로 오름차순 정렬해주세요.     정답 코드SELECT U.USER_ID, NICKNAME, SUM(PRICE) AS TOTAL_SALESFROM USED_GOODS_BOARD B JOIN USED_GOODS_USER U ON B.WRITER_ID = U.USER_IDWHERE STATUS = 'DONE'GROUP BY USER_IDHAVING TOTAL_SALES >= 700000ORDER BY TOTAL_SALES  MEMO- 문제 .. 2024. 9. 8.
[MYSQL 15] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기  (LEVEL3)  자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시자동차 ID 내림차순 정렬  정답 코드SELECT CAR_ID, CASE WHEN CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY .. 2024. 9. 6.
[MYSQL 14] 진료과별 총 예약 횟수 출력하기 진료과별 총 예약 횟수 출력하기 (LEVEL2) 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정 5월예약건수 오름차순, 진료과 코드 오름차순 정렬   정답 코드SELECT MCDP_CD AS 진료과코드, COUNT(*) AS 5월예약건수FROM APPOINTMENT WHERE DATE_FORMAT(APNT_YMD, "%Y-%m") = "2022-05"GROUP BY MCDP_CDORDER BY 5월예약건수, 진료과코드  MEMO- DATE_FORMAT %Y ( 4자리 년도 ),  %y ( 2자리 년도 ), %M ( 긴 월(영문) ), %m( 숫자 월 ( 두자리 ) ), %b ( 짧은 월(영문)  ), %c ( 숫자 월(한.. 2024. 9. 6.
[MYSQL 13] 성분으로 구분한 아이스크림 총 주문량 성분으로 구분한 아이스크림 총 주문량  (LEVEL2)    상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량 (컬럼명은 TOTAL_ORDER)총주문량이 작은 순서대로 조회   정답 코드SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDERFROM FIRST_HALF F JOIN ICECREAM_INFO I ON F.FLAVOR = I.FLAVORGROUP BY INGREDIENT_TYPEORDER BY TOTAL_ORDER  MEMO- 출력 요소(SELECT)가 그룹 타입과 집계함수만 있기 때문에 서브쿼리 없이 코드를 작성하면 됨. 2024. 9. 6.