본문 바로가기

프로그래머스(Oracle)

[프로그래머스 (Oracle)] 대여 기록이 존재하는 자동차 리스트 구하기

728x90

코드 힌트

  1. 차량 필터링:
    • 이 쿼리는 세단 타입의 차량만을 대상으로 합니다.
    • 차량 유형을 CAR_TYPE = '세단'으로 필터링하여 특정 타입의 차량만 조회합니다.
  2. 특정 월에 대한 렌탈 기록 조회:
    • 이 쿼리는 TO_CHAR(H.START_DATE, 'YYYY-MM') = '2022-10' 조건을 통해 2022년 10월에 대여된 기록만을 조회합니다.
    • 날짜를 문자열로 변환하여 특정 월에 맞는 기록을 쉽게 필터링합니다.
  3. JOIN과 차량 ID 중복 제거:
    • JOIN을 사용하여 차량과 렌탈 기록을 연결하고, 중복된 차량 ID를 제거하기 위해 DISTINCT를 사용합니다.
    • 이 방법으로 한 번이라도 렌탈된 차량 ID만 결과에 포함됩니다.
  4. 차량 ID 내림차순 정렬:
    • 결과는 ORDER BY C.CAR_ID DESC에 따라 차량 ID가 내림차순으로 정렬되어 출력됩니다.

 


정답은 더보기 클릭

더보기
더보기
SELECT DISTINCT C.CAR_ID  -- 중복 없이 차량 ID를 선택합니다.
  FROM CAR_RENTAL_COMPANY_CAR C  -- 차량 정보를 담고 있는 CAR 테이블을 참조합니다.
  JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H  -- 렌탈 기록을 담고 있는 RENTAL_HISTORY 테이블과 JOIN을 수행합니다.
  ON C.CAR_ID = H.CAR_ID  -- 두 테이블에서 차량 ID가 일치하는 행들을 연결합니다.
  WHERE CAR_TYPE = '세단'  -- 차량의 타입이 '세단'인 경우만 필터링합니다.
  AND TO_CHAR(H.START_DATE, 'YYYY-MM') = '2022-10'  -- 렌탈 시작 날짜가 2022년 10월인 렌탈 기록만 선택합니다.
  ORDER BY C.CAR_ID DESC  -- 선택된 차량 ID를 내림차순으로 정렬합니다.
728x90