level3_대여 기록이 존재하는 자동차 리스트 구하기

2024. 7. 4. 23:26MYSQL_알고리즘(코딩테스트)/level3

 

내가 제출한 코드

SELECT DISTINCT(C.CAR_ID)
FROM CAR_RENTAL_COMPANY_CAR C
    JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H
    ON C.CAR_ID = H.CAR_ID
WHERE C.CAR_TYPE = "세단" AND START_DATE LIKE '2022-10%'
ORDER BY C.CAR_ID DESC;
  • SELECT DISINCT(C.CAR_ID)
    • 중복된 CAR_ID를 제거 후 데이터를 조회한다.
  • FROM절
    • C는 테이블 CAR_RENTAL_COMPANY_CAR의 별칭이고, CAR_RENTAL_COMPANY_CAR 테이블을 선택한다.
  • JOIN절
    • CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_HISTORY 테이블을 조인한다.
    • ON C.CAR_ID = H.CAR_ID는 두 테이블을 조인하는 조건이다.
      • CAR_RENTAL_COMPANY_CAR 테이블의 CAR_ID 열과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블의 CAR_ID 열이 일치하는 행을 결합한다.
  • WHERE절
    • C.CAR_TYPE = "세단"는 CAR_TYPE 열이 "세단"인 행을 선택한다.
    • START_DATE LIKE '2022-10%'는 START_DATE 열이 "2022-10"으로 시작하는 행을 선택한다. LIKE '2022-10%'는 2022년 10월에 시작된 대여 기록을 찾는다.
  • ORDER BY절
    • CAR_ID 열을 기준으로 내림차순으로 정렬한다.