참치코더의 꿈 메모장

Oracle / 프로그래머스 - 대여 기록이 존재하는 자동차 리스트 구하기 본문

Oracle

Oracle / 프로그래머스 - 대여 기록이 존재하는 자동차 리스트 구하기

참치깡 2026. 2. 1. 20:00
728x90

1
2
3
4
5
6
7
8
-- 코드를 입력하세요
SELECT DISTINCT CC.CAR_ID AS CAR_ID
FROM CAR_RENTAL_COMPANY_CAR CC
JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY RH
    ON CC.CAR_ID = RH.CAR_ID
WHERE CC.CAR_TYPE = '세단' 
AND EXTRACT(MONTH FROM RH.START_DATE) = 10
ORDER BY CAR_ID DESC;
cs

 

 

- CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 

  자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을

  작성하는 문제이다. 이때 자동차 ID 리스트를 중복이 없어야 하며, 내림차순 정렬해야한다.

 

- 일단 공통 컬럼인 car_id를 기준으로 테이블을 조인 해준다. 이때 이름은 너무 길어서 각각 CC와 RH로 줄였고,

  ON절을 사용하여 조인을 해주었다.

- 다음 WHERE조건에 CAR_TYPE이 세단, AND  10월에 대여를 한 기록을 조건으로 걸어준다면 값이 나오게 되는데

  보여줘야 하는 컬럼이 CAR_ID 값이므로 CC에 있는 CAR_ID값을 선언한 뒤에 AS로 깔끔하게 만들어줬다.

 

- 마지막으로 ORDER BY 절을 사용하여 DESC 내림차순으로 정렬해준다면 정답을 얻을 수 있다. ^^

 

 

728x90
Comments