특정 옵션이 포함된 자동차 리스트 구하기

다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.

자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스트(옵션 리스트 값 예시: '열선시트', '스마트키', '주차감지센서')로 되어있으며, 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트' 가 있습니다.

CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요.

특정 옵션이 포함된 자동차 리스트 구하기Lv.1

157343

https://school.programmers.co.kr/learn/courses/30/lessons/157343

해설

  • Name
    WHERE OPTIONS LIKE '%네비게이션%'
    Type
    Description

    WHERE: 이 키워드는 데이터를 필터링하기 위한 조건을 지정하는 데 사용됩니다.

    OPTIONS LIKE "%네비게이션%": 이 조건은 테이블의 OPTIONS 열에 적용됩니다.

    LIKE 연산자는 SQL에서 패턴 매칭에 사용됩니다.

    %네비게이션%: 네비게이션의 양쪽에 있는 백분율 기호(%)는 LIKE 연산자와 함께 사용되는 와일드카드 문자입니다. 이 패턴은 OPTIONS 열에서 '네비게이션'이라는 단어를 포함하는 모든 문자열과 일치합니다. '네비게이션' 앞이나 뒤에 오는 것은 상관없습니다.

  • Name
    ORDER BY CAR_ID DESC
    Type
    Description

    ORDER BY: 이 절은 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다.

    CAR_ID 열에 따라 내림차순(DESC)으로 정렬되어야 함을 나타냅니다.

OPTIONS 열에 '네비게이션'이라는 단어를 포함하는 CAR_RENTAL_COMPANY_CAR 테이블의 모든 열을 선택하고, 이러한 결과를 CAR_ID 열에 따라 내림차순으로 정렬합니다.

크게 어려운 문제는 아닙니다. WHERE 절과 ORDER BY 절을 사용하여 문제를 해결할 수 있습니다.

특정 옵션이 포함된 자동차 리스트 구하기

SELECT *
  FROM CAR_RENTAL_COMPANY_CAR
 WHERE OPTIONS
  LIKE "%네비게이션%"
 ORDER BY CAR_ID DESC;