깡뇽

[프로그래머스] SQL High Score Kit - SELECT (1) 본문

Computer Language/SQL

[프로그래머스] SQL High Score Kit - SELECT (1)

깡뇽 2023. 10. 20. 16:48
반응형

12세 이하인 여자 환자 목록 출력하기

문제 : `PATIENT` 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문 작성

- 전화번호가 없는 경우, 'NONE' 출력

- 나이 기준 내림차순 정렬, 나이가 같다면 환자이름 기준 오름차순 정렬

 

SELECT PT_NAME AS '환자이름', PT_NO AS '환자번호', GEND_CD AS '성별코드', AGE AS '나이', 
    COALESCE(TLNO, 'NONE') AS '전화번호' 
    FROM PATIENT WHERE AGE <= 12 AND GEND_CD = 'W' 
    ORDER BY AGE DESC, PT_NAME ASC;

COALESCE(원래, 대체)

WHERE 절 다음에 ORDER BY

DESC : 내림차순

ASC : 오름차순

 

인기있는 아이스크림

문제 : 상반기에 판매된 아이스크림의 맛을 총 주문량을 기준으로 내림차순 정렬, 총주문량이 같다면 출하 번호 기준 오름차순 정렬

SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID;


평균 일일 대여 요금 구하기

문제 : `CAR_RENTAL_COMPANY_CAR` 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금 출력

- 평균 일일 대여 요금은 소수 첫번째 자리에서 반올림

- 컬럼명 `AVERAGE_FEE`로 지정

SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV';

소수점 첫째자리 반올림 : ROUND("값", "자리수") 

 

재구매가 일어난 상품과 회원 리스트 구하기

문제 : `ONLINE_SALE` 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구미한 상품 ID를 출력

- 회원 ID 기준 오름차순 정렬, 회원 ID가 같다면 상품 ID 기준 내림차순

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) >= 2
ORDER BY USER_ID, PRODUCT_ID DESC;

 

 

 

반응형