728x90
프로그래머스에서 제공하는 SQL문제 매일 풀기 챌린지
문제 설명
다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.
Column name | Type | Nullable |
CAR_ID | INTEGER | FALSE |
CAR_TYPE | VARCHAR(255) | FALSE |
DAILY_FEE | INTEGER | FALSE |
OPTIONS | VARCHAR(255) | FALSE |
자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스트(옵션 리스트 값 예시: '열선시트', '스마트키', '주차감지센서')로 되어있으며, 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트' 가 있습니다.
문제
CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요.
ANIMAL_ID | NAME |
A349996 | Sugar |
A350276 | Jewel |
A350375 | Meo |
A352555 | Harley |
A352713 | Gia |
A352872 | Peanutbutter |
A353259 | Bj |
예시
예를 들어 CAR_RENTAL_COMPANY_CAR 테이블이 다음과 같다면
CAR_ID | CAR_TYPE | DAILY_FEE | OPTIONS |
1 | 세단 | 16000 | 가죽시트,열선시트,후방카메라 |
2 | SUV | 14000 | 스마트키,네비게이션,열선시트 |
3 | SUV | 22000 | 주차감지센서,후방카메라,네비게이션 |
'네비게이션' 옵션이 포함된 자동차는 자동차 ID가 2, 3인 자동차이고, 자동차 ID를 기준으로 내림차순 정렬하면 다음과 같은 결과가 나와야 합니다.
CAR_ID | CAR_TYPE | DAILY_FEE | OPTIONS |
3 | SUV | 22000 | 주차감지센서,후방카메라,네비게이션 |
2 | SUV | 14000 | 스마트키,네비게이션,열선시트 |
정답
select car_id, car_type, daily_fee, options
from car_rental_company_car
where options like '%네비게이션%'
order by car_id desc;
해설하기
# 1. SELECT절
출력하고자 하는 컬럼명들 나열
# 2. FROM절
출력할 컬럼명을 가지고올 테이블 명 기입
# 3. WHERE 절
네비게이션 옵션이 포함된다는 조건을 입력하려면,
옵션 컬럼의 값에 네비게이션이라는 단어가 포함된 데이터를 출력하는 것이다.
이럴 때 사용할 수 있는 함수는 LIKE와 와일드 카드(%)이다.
와일드 카드(%)는 그 자리에 무엇이 와도 상관없고, 개수가 몇 개가 와도 상관없다는 의미이다.
따라서 OPTION LIKE '%네비게이션%'은 아래와 같이 해석할 수 있다
'네비게이션이라는 문자 앞뒤로 무엇이 와도 상관없이 그저 네이게이션이라는 문자가 포함된 옵션'
# 4. ORDER BY 절
CAR_ID를 기준으로 내림차순 정렬 조건을 입력해준다
결과 출력
출처 : 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
반응형
'SQL 문제 풀기 > 1. 프로그래머스 SQL : 2023.12.17~2024.2.29' 카테고리의 다른 글
<프로그래머스 24> 조건에 부합하는 중고거래 댓글 조회하기(Lv.1) (2) | 2024.01.09 |
---|---|
<프로그래머스 23> 자동차 대여 기록에서 장기/단기 대여 구분하기(Lv.1) (2) | 2024.01.08 |
<프로그래머스 21> 최댓값 구하기(Lv.1) (0) | 2024.01.06 |
<프로그래머스 20> 과일로 만든 아이스크림 고르기(Lv.1) (2) | 2024.01.05 |
<프로그래머스 19> 인기있는 아이스크림(Lv.1) (0) | 2024.01.04 |