1. 문제 목적
문자열 처리와 조건 검색을 학습하기 위한 것입니다. LIKE 연산자를 사용하여 문자열 안에 특정 키워드가 포함된 데이터를 검색하는 방법을 연습할 수 있습니다.
2. 핵심 개념
LIKE 연산자
- 정의: 문자열 열에서 특정 패턴을 가진 데이터를 검색하는 데 사용되는 연산자입니다.
SELECT 열이름
FROM 테이블이름
WHERE 열이름 LIKE '%패턴%';
- %: 0개 이상의 임의의 문자와 일치합니다.
- _: 정확히 하나의 임의의 문자와 일치합니다.
3. 문제 해결 절차
- 문제 이해:
- 테이블에서 OPTIONS 열에 네비게이션 옵션이 포함된 차량을 찾는다.
- CAR_ID를 기준으로 오름차순 정렬하여 결과를 반환한다.
- 데이터 검색 조건 설정:
- OPTIONS 열에 네비게이션이라는 키워드가 포함된 데이터를 찾기 위해 LIKE '%네비게이션%' 조건을 사용한다.
- 정렬 추가:
- 검색된 결과를 CAR_ID 열을 기준으로 오름차순(ASC) 정렬한다.
- SQL 작성 및 실행:
- 조건에 맞는 SQL문을 작성하고 실행하여 결과를 확인한다.
4. 코드 작성
-- 1. CAR_ID와 관련 정보를 선택
SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS
-- 2. CAR_RENTAL_COMPANY_CAR 테이블에서 데이터를 검색
FROM CAR_RENTAL_COMPANY_CAR
-- 3. OPTIONS 열에서 '네비게이션' 키워드를 포함하는 데이터를 찾기
WHERE OPTIONS LIKE '%네비게이션%'
-- 4. CAR_ID 기준으로 오름차순 정렬
ORDER BY CAR_ID ASC;
주석 설명:
- SELECT: 반환할 열을 선택합니다. 여기서는 CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 열을 선택했습니다.
- FROM: 데이터를 검색할 테이블을 지정합니다.
- WHERE: OPTIONS 열에서 네비게이션이라는 키워드를 포함한 데이터를 필터링합니다. %는 앞뒤로 다른 문자열이 있어도 검색되도록 합니다.
- ORDER BY: 검색된 데이터를 CAR_ID 기준으로 오름차순 정렬합니다.
5. 코드 분석
WHERE OPTIONS LIKE '%네비게이션%'
- 이 조건은 OPTIONS 열에 네비게이션이라는 문자열이 포함된 행만 반환합니다.
- %네비게이션%:% 뒤에도 아무 문자나 올 수 있음.
- 즉, 문자열 안 어디에 있든 네비게이션이라는 단어가 포함된 데이터를 검색합니다.
- % 앞에 아무 문자나 올 수 있음.
ORDER BY CAR_ID ASC
- 결과를 CAR_ID 열의 값을 기준으로 오름차순으로 정렬합니다.
- 오름차순은 기본값이므로 ASC를 생략해도 동일하게 작동합니다.
전체 쿼리 동작
- 테이블 CAR_RENTAL_COMPANY_CAR에서 모든 데이터를 검색합니다.
- OPTIONS 열에서 네비게이션을 포함한 데이터를 필터링합니다.
- 필터링된 데이터를 CAR_ID 기준으로 정렬하여 반환합니다.
'SQL Kit > STRING, DATE' 카테고리의 다른 글
한 해에 잡은 물고기 수 구하기 [ 프로그래머스 | SQL Kit | Level 1 ] (0) | 2025.03.03 |
---|---|
자동차 대여 기록에서 장기/단기 대여 구분하기 [ 프로그래머스 | SQL Kit | Level 1 ] (0) | 2025.03.03 |