문제 풀이/프로그래머스 SQL

자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

열심히 해 2024. 10. 1. 09:30

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

 

 

1. :

SELECT car_type, count(1) CARS

from CAR_RENTAL_COMPANY_CAR

where options in ('통풍시트' or '열선시트' or '가죽시트')

group by car_type

order by car_type

 

 

이 경우 in 을 사용해선 안됩니다. in 연산자는 정확히 일치하는 값을 찾을 때 사용하기 때문입니다.

 

따라서 위와 비슷한 방법으로 풀려면 

 

2. :

 

SELECT car_type, count(1) CARS

from CAR_RENTAL_COMPANY_CAR

where options like '%통풍시트%' or options like '%열선시트%' or options like '%가죽시트%'

group by car_type

order by car_type

 

 

3 : 

 

SELECT car_type, COUNT(1) AS CARS

FROM CAR_RENTAL_COMPANY_CAR

WHERE options REGEXP '통풍시트|열선시트|가죽시트'

GROUP BY car_type

ORDER BY car_type;

 

 

REGEXP는 SQL에서 **정규식(Regular Expression)**을 사용하여 문자열 패턴을 매칭할 수 있게 해주는 기능입니다. 정규식은 문자열 검색이나 패턴 매칭을 위한 강력한 도구로, 특정 패턴과 일치하는 텍스트를 찾거나 조건을 설정할 때 유용합니다. 

 

기본 사용법 : 

SELECT *

FROM 테이블명

WHERE 컬럼명 REGEXP '정규식패턴';