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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

코드설명

LIKE + ORDER BY 를 활용합니다.

 

처음에는 'IN'을 통해서 딱 '네비게이션'인 행을 찾았지만, 문제에서 보면 문자열에서 포함되는 값을 검색하는 기능을 구현해야 합니다.

즉, 로직의 핵심은 'OPTION' 컬럼에 '네비게이션' 문자열이 포함된 레코드를 찾아내는 것입니다.

 

  1. 테이블 지정: CAR_RENTAL_COMPANY_CAR라는 테이블에서 데이터를 선택합니다. 이 테이블의 별칭으로 CRCC1을 사용합니다.
  2. 칼럼 선택: 조회할 컬럼으로는 CAR_ID (자동차 식별자), CAR_TYPE (차량 유형), DAILY_FEE (일일 요금), OPTIONS (옵션)을 선택합니다.
  3. 조건 필터링: WHERE 절을 사용하여 OPTIONS 컬럼 내용 중 '네비게이션'이라는 문자열을 포함하는 레코드만 필터링합니다. 이 때, %네비게이션% 표현을 사용해 '네비게이션'이라는 문자열이 어디에 위치하든 상관없이 해당 문자열을 포함하는 모든 레코드를 선택합니다. '%' 기호는 0개 이상의 임의의 문자열을 의미하는 와일드카드입니다.
  4. 정렬: ORDER BY 절을 사용해 결과를 CAR_ID 칼럼 값에 따라 내림차순으로 정렬합니다. 즉, CAR_ID 값이 가장 큰 레코드부터 결과에 나타나게 됩니다.

결과적으로 이 쿼리는 '네비게이션' 옵션을 포함하는 차량들을 CAR_ID가 큰 순서로 나열하여 보여주게 됩니다. 이는 사용자가 차량 대여 업체의 차량 중 네비게이션 기능을 원하는 경우, 해당하는 옵션을 갖춘 차량을 쉽게 탐색할 수 있게 해줍니다.

코드

SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC;
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
FROM CAR_RENTAL_COMPANY_CAR AS CRCC1
WHERE CRCC1.OPTIONS LIKE ('%네비게이션%')
ORDER BY CAR_ID DESC;
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
FROM CAR_RENTAL_COMPANY_CAR AS CRCC
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC

+ Recent posts