ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 8
    Study/SQL 2024. 6. 5. 22:11
    728x90
    반응형

     

     

    오늘부터 새로운 도전을 시작하려고 합니다.

     

    바로 하루 5개씩 SQL 관련 문제를 푸는 것입니다.

     

    매일 프로그래머스에서 제공하는 SQL 문제5개씩 해결하며, 데이터 베이스 관리 및 쿼리 작성 능력을 성장시키고자 합니다.

     

    또한, 오라클(Oracle) 데이터베이스를 사용하여 문제를 해결함으로써, 실제 업무 환경에서 마주칠 수 있는 다양한 상황에 대비하고자 합니다.

     

    매일 바쁜 일상 속에서 새로운 것을 배우고 성장하는 것은 어렵겠지만, 도전이라도 하면 어떨까 합니다.

     

    프로그래머스는 무료로 다양한 난이도의 문제를 제공하기 때문에, 저는 제일 낮은 난이도부터 정답률이 높은 순서대로 풀어 보려고 합니다.

     

     

    프로그래머스 문제 모음

    728x90

     

     


    문제 풀이

    해당 문제에 대한 자세한 내용은 프로그래머스에서 찾아볼 수 있습니다!

     

     

     

    1. 진료과별 총 예약 횟수 출력하기

    APPOINTMENT 테이블에서 2022 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성해주세요.
    이때, 컬럼명은 '진료과 코드', '5월예약건수' 지정해주시고
    결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬해주세요.

     

    SELECT mcdp_cd as "진료과코드", count(*) as "5월예약건수"
    from appointment
    where to_char(apnt_ymd,'yyyy-mm') like '2022-05%'
    group by mcdp_cd
    order by count(*), 진료과코드

     

     

     

     

    2. 입양 시각 구하기(1)

    보호소에서는 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다.
    09:00
    부터 19:59까지, 시간대별로 입양이 건이나 발생했는지 조회하는 SQL문을 작성해주세요.
    이때 결과는 시간대 순으로 정렬해야 합니다.

     

    SELECT to_number(to_char(datetime, 'hh24')) as HOUR, count(*) as COUNT
    from animal_outs
    group by to_char(datetime, 'hh24') 
    having to_char(datetime, 'hh24') > 8 and to_char(datetime, 'hh24') < 20
    order by 1

     

    반응형

     

     

    3. 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

    CAR_RENTAL_COMPANY_CAR 테이블에서 '통풍시트', '열선시트', '가죽시트' 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 대인지 출력하는 SQL문을 작성해주세요.
    이때 자동차 수에 대한 컬럼명은 CARS 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요.

     

    SELECT car_type, count(*) as CARS
    from car_rental_company_car
    where Options like '%통풍시트%' or Options like '%열선시트%' or Options like '%가죽시트%' 
    group by car_type
    order by car_type

     

     

     

     

    4. 조건에 맞는 도서와 저자 리스트 출력하기

    '경제카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.
    결과는 출판일을 기준으로 오름차순 정렬해주세요.

     

    SELECT b.book_id, a.author_name, to_Char(b.published_date,'yyyy-mm-dd')
    from book b, author a
    where b.author_id = a.author_id and b.CATEGORY in '경제'
    order by b.published_date

     

     

     

     

    5. 상품 별 오프라인 매출 구하기

    PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요.
    결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.

     

    select p.product_code, sum(p.price * o.sales_amount)
    from product p, offline_sale o
    where p.product_id = o.product_id
    group by p.product_code
    order by 2 desc, 1

     

     

    728x90
    반응형

    댓글

Designed by Tistory.