행궁동 데이터 엔지니어

반응형

프로그래머스 SQL 문제 중 String, Date 카테고리에 속한 문제를 풀어봤습니다.

 

주요 사용 연산자와 함수 : AND, LIKE, 와일드카드(Wildcard) %

 

패턴 매칭 연산자 LIKE 설명

MySQL에는 2가지 패턴 매칭 연산자가 있습니다.

1. LIKE : 특정패턴을 포함하는 데이터만을 찾기 위해 사용

2. REGEXP : LIKE 연산자보다 복잡한 패턴을 검색하고자 할 때 사용, 정규표현식 형태로 검색할 수 있음

 

2가지 중 LIKE 연산자를 알아보겠습니다.

WHERE 절과 LIKE 연산자 그리고 와일드카드 문자를 사용하면 특정 패턴을 검색할 수 있습니다.

 

와일드카드 %, _ 2가지 설명

  • % : 0개 이상의 문자를 대체
  • _ : 1개의 문자를 대체

LIKE 사용 예제 (SELECT 구문은 생략)

  • 이름이 '장'으로 시작하는 사람 검색 : WHERE NAME LIKE '장%'
  • 이름이 '민'으로 끝나는 사람 검색 : WHERE NAME LIKE '%민'
  • 이름에 '찬'이 들어가는 사람 검색 : WHERE NAME LIKE '%찬%'
  • 이름이 '2글자면서 장' 으로 시작하는 사람 검색 : WHERE NAME LIKE '장_'

참고 : TCP School, 패턴 매칭, http://tcpschool.com/mysql/mysql_operator_patternMatching

 

문제와 쿼리문은 아래에 첨부하겠습니다.

 

https://programmers.co.kr/learn/courses/30/lessons/59047

 

코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기 | 프로그래머스

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS

programmers.co.kr

문제 풀이

  • WHERE 절 이하를 AND로 묶어서 2가지 조건을 만족하는 레코드만 SELECT 하도록 했습니다.
  • WHERE (조건 1 AND 조건 2)
  • 조건 1은 ANIMAL_TYPE이 DOG, 조건 2는 LIKE와 와일드카드 %를 사용해서 이름에 'EL'이 들어간 경우
  • ORDER BY NAME ASC : NAME을 기준으로 오름차순(ASCENDING) 정렬, 내림차순 정렬은 DESC(DESCENDING) 
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band