본문 바로가기
Computer/Algorithm_SQL

[Algorithm_SQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (Success)

by HJ0216 2023. 10. 14.
 

프로그래머스

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

programmers.co.kr

🙂 확인 사항

1. CAR_RENTAL_COMPANY_CAR 테이블

2. '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함

3. 자동차 종류 별

4. 몇 대

5. 자동차 수 컬럼명 CARS

6. 자동차 종류 기준 오름차순 정렬

 

 

📝 Language: Oracle

1
2
3
4
5
6
7
8
9
10
  SELECT CAR_TYPE, 
         COUNT(*) CARS 
    FROM CAR_RENTAL_COMPANY_CAR
   WHERE OPTIONS LIKE '%통풍시트%' 
      OR OPTIONS LIKE '%열선시트%' 
      OR OPTIONS LIKE '%가죽시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
;
 
 

* OR 조건문

🚨 IN 조건문 사용 시, 정확하게 일치하는 자동차만 반환

 

1
2
3
4
5
6
7
8
  SELECT CAR_TYPE, 
         COUNT(*) AS CARS
    FROM CAR_RENTAL_COMPANY_CAR
   WHERE REGEXP_LIKE(OPTIONS, '통풍시트|열선시트|가죽시트')
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
;
 
 

* 정규 표현식 사용

 

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT CAR_TYPE,
       COUNT(*) AS CARS
  FROM CAR_RENTAL_COMPANY_CAR
 WHERE CASE
         WHEN OPTIONS LIKE '%통풍시트%' THEN 1
         WHEN OPTIONS LIKE '%열선시트%' THEN 1
         WHEN OPTIONS LIKE '%가죽시트%' THEN 1
         ELSE 0
       END = 1
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
;
 
 

* CASE 조건문 사용

 

 

 

🔗 소스 코드
GitHub