ABOUT ME

-

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

     

     

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

     

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

     

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

     

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

     

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

     

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

     

     

    프로그래머스 문제 모음

    728x90

     

     


    문제 풀이

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

     

     

     

    1. 특정 옵션이 포함된 자동차 리스트 구하기

    CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요.
    결과는 자동차 ID 기준으로 내림차순 정렬해주세요.

     

    SELECT *
    from car_rental_company_car
    where options like '%네비게이션%'
    order by car_id desc

     

     

     

     

    2. 최댓값 구하기

    가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

     

    select * 
    from (
        SELECT datetime
        from animal_ins
        order by datetime desc )
    where rownum = 1

     

    반응형

     

     

    3. 자동차 대여 기록에서 장기/단기 대여 구분하기

    CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022 9월에 속하는 대여 기록에 대해서
    대여 기간이 30 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 표시하는 컬럼(컬럼명: RENT_TYPE) 추가하여
    대여기록을 출력하는 SQL문을 작성해주세요.
    결과는 대여 기록 ID 기준으로 내림차순 정렬해주세요.

     

    SELECT history_id, car_id, to_char(start_date, 'yyyy-mm-dd'), to_char(end_date, 'yyyy-mm-dd'),
    case when (end_date - start_date + 1) >= 30 
        then '장기 대여' else '단기 대여' end as RENT_TYPE
    from car_rental_company_rental_history
    where to_char(start_date, 'yyyy-mm') = '2022-09'
    order by history_id desc

     

     

     

     

    4. 조건에 부합하는 중고거래 댓글 조회하기

    USED_GOODS_BOARD USED_GOODS_REPLY 테이블에서
    2022
    10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.

     

    SELECT B.title, b.board_id, r.reply_id, r.writer_id, r.contents, to_char(r.created_date, 'yyyy-mm-dd') as created_date
    from used_goods_board B, USED_GOODS_REPLY R
    where b.board_id = r.board_id and to_char(b.created_date,'yyyy-mm') = '2022-10'
    order by r.created_date, b.title

     

     

     

     

    5. 최솟값 구하기

    동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

     

    select datetime
    from (
        SELECT *
        from animal_ins
        order by datetime)
    where rownum=1

     

     

     

    728x90
    반응형

    댓글

Designed by Tistory.