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

·2023년 3월 9일
0

알고리즘 문제 풀이

목록 보기
79/165
post-thumbnail

풀이 상세

JOIN, SUBQUERY

풀이 요약

  1. 문제가 원하는 답은 세단 이면서 10월에 대여 시작이 기록된 차를 반환하는 것이다. 두 테이블을 CAR ID를 가지고 있으므로 이를 가지고 JOIN을 형성한다.

  2. 세단이며 10월인 조건을 맞추어야 하니 WHERE 절을 통해 맞춘다. DATE의 경우 DATE 관련 함수를 쓰거나 아니면 LIKE 를 통해서도 가능하다.

  3. 단, 중복값이 나올 수 있기 때문에, DISTINCT 함수를 사용해주자.

배운점

  • 역시 안 사용하면 까먹게 된다.

JOIN

SELECT DISTINCT (CRCC.CAR_ID) 
FROM CAR_RENTAL_COMPANY_CAR AS CRCC
JOIN  CAR_RENTAL_COMPANY_RENTAL_HISTORY AS CRCRH ON CRCC.CAR_ID = CRCRH.CAR_ID
WHERE CAR_TYPE = "세단" 
AND START_DATE like "%%%%-10-%%"
ORDER BY CAR_ID DESC

SUBQUERY

SELECT DISTINCT CAR_ID
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = "세단"
AND CAR_ID IN (
    SELECT CAR_ID
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
    WHERE START_DATE like "%%%%-10-%%"
)
ORDER BY CAR_ID DESC
profile
새로운 것에 관심이 많고, 프로젝트 설계 및 최적화를 좋아합니다.

0개의 댓글