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

<프로그래머스> 이름에 el이 들어가는 동물 찾기

배또가또 2023. 12. 12. 20:30

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

 

프로그래머스

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

programmers.co.kr

 

 


  •  문제요구사항
    • 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회
    • 이름의 결과는 이름 순으로 조회하되 대소문자 구별을 하지 않음

 

LIKE 구문을 사용해서 결과를 얻을 수 있다.

--특정문자로 시작하는 문자를 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE 'A%'

--특정문자로 끝나는 문자 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE '%A'

--특정문자를 포함하는 문자 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE '%A%'

--특정문자로 시작하는 두글자 문자 찾기--
SELECT 컬럼명 FROM 테이블 WHERE 컬럼명 LIKE 'A_'

1) Oracle

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE LOWER(NAME) LIKE '%el%' AND 
      ANIMAL_TYPE = 'Dog'
ORDER BY NAME;

 

Oracle은 대소문자를 구분하기 때문에 조건을 부여할 때 NAME 전체를 LOWER()를 이용해서 소문자로 바꾼 다음 

LIKE '%el%' 로 소문자와 비교하여 원하는 데이터를 조회하였다.


2) MySQL

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME LIKE '%el%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME

 

MySQL은 Oracle과 달리 대소문자를 애초에 구분하지 않고 검색하여 에러가 나지 않는다.