티스토리 뷰
문제 설명
다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다.
Column name | Type | Nullable |
HISTORY_ID | INTEGER | FALSE |
CAR_ID | INTEGER | FALSE |
START_DATE | DATE | FALSE |
END_DATE | DATE | FALSE |
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중'이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 칼럼(칼럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해 주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해 주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해 주세요.
문제 풀이
SELECT
c.CAR_ID,
CASE
WHEN h.CAR_ID IS NOT NULL THEN '대여중'
ELSE '대여 가능'
END AS AVAILABILITY
FROM
(SELECT DISTINCT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY) c
LEFT JOIN
(SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE <= '2022-10-16' AND END_DATE >= '2022-10-16') h
ON
c.CAR_ID = h.CAR_ID
ORDER BY
c.CAR_ID DESC;
CASE문을 사용하여 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 칼럼을 설정했다. 그리고 대여 시작일, 대여 종료일을 2022년 10월 16일 기준으로 설정하여 쿼리문을 작성했다.
'SQL > SQL 테스트 연습' 카테고리의 다른 글
프로그래머스 Lv3. 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2023.08.16 |
---|---|
프로그래머스 Lv3. 헤비 유저가 소유한 장소 (0) | 2023.08.16 |
프로그래머스 Lv3. 조건에 맞는 사용자 정보 조회하기 (0) | 2023.08.15 |
프로그래머스 Lv3. 없어진 기록 찾기 (0) | 2023.08.15 |
프로그래머스 Lv3. 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2023.08.15 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 쿼리 테스트
- SQLD
- Lv3
- Python
- 딥러닝
- 데이터사이언스
- lv4
- 프로그래밍
- API
- Kaggle
- EDA
- mysql
- 알고리즘
- 캐글
- ML
- LV2
- SQL
- ai
- 파이썬
- 데이터분석
- 데이터 분석
- 태블로
- nlp
- 머신러닝
- sql 테스트
- LV1
- 부스트코스
- 데이터 시각화
- 인공지능
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함