코딩테스트/SQL 코딩테스트

<프로그래머스> 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

배또가또 2023. 12. 19. 11:48

출처 :  https://school.programmers.co.kr/learn/courses/30/lessons/151137

 

프로그래머스

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

programmers.co.kr



  • 문제 요구사항
    • CAR_RENTAL_COMPANY_CAR 테이블에서
    • 통풍시트, 열선시트, 가죽시트 중 하나 이상의 옵션이 포함된 자동차가
    • 자동차 종류 별로 몇대인지를 조회
    • 자동차 수의 칼럼은 CARS로 지정
    • 결과는 자동차의 종류를 기준으로 오름차순 정렬

자동차 OPTION칼럼을 보면 한 속성 내에 여러 개의 값을 가지는 다중값 속성인 것을 알 수 있다.

따라서 IN 으로 조회할 수 없고 LIKE로 조회해야한다.

 

하나 이상의 옵션이 포함되는게 조건이므로 OR로 조건을 연결해준다.


1) Oracle

SELECT CAR_TYPE, COUNT(*) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%통풍시트%' OR 
      OPTIONS LIKE '%열선시트%' OR 
      OPTIONS LIKE '%가죽시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE;

 


2) MySQL

SELECT CAR_TYPE, COUNT(*) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%통풍시트%' OR 
      OPTIONS LIKE '%열선시트%' OR 
      OPTIONS LIKE '%가죽시트%'
GROUP BY 1
ORDER BY 1;