본문 바로가기

하루 30분 SQL 공부하기

[SQL] 프로그래머스 SELECT문제 평균 일일 대여 요금 구하기, 흉부외과 또는 일반외과 의사 목록 출력하기

1. 평균 일일 대여 요금 구하기

 

문제

CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE 로 지정해주세요.

 

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

 

새로 배운것 

  • ROUND를 사용하면 반올림 값을 구할 수 있다. 
SELECT ROUND(AVG(column_name), number_of_decimal_places)
FROM table_name;
  • AS를 사용하면 컬럼명을 지정할 수 있다. 
SELECT 
    AVG(price) AS average_price,
    SUM(quantity) AS total_quantity
FROM products;

 

2. 흉부외과 또는 일반외과 의사 목록 출력하기

 

문제

DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.

 

SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD
FROM DOCTOR
WHERE (MCDP_CD = 'CS') OR (MCDP_CD = 'GS')
ORDER BY HIRE_YMD DESC, DR_NAME ASC;

 

새로 배운것 

  • DATE_FORMAT을 사용하면 날짜 데이터의 형식을 변경할 수 있다.
SELECT DATE_FORMAT(colum_name, '%y-%m-%d) AS colum_name
FROM TABLE_NAME