최대 1 분 소요

중성화 여부 파악하기

문제 정리

보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다.
중성화된 동물은 SEX_UPON_INTAKE 컬럼에 ‘Neutered’ 또는 ‘Spayed’라는 단어가 들어있습니다.
동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요.
이때 중성화가 되어있다면 ‘O’, 아니라면 ‘X’라고 표시해주세요.

풀이

case 문

SELECT animal_id, name, 
CASE 
  WHEN (sex_upon_intake LIKE '%Neutered%' OR sex_upon_intake LIKE '%Spayed%') THEN 'O' 
  ELSE 'X' 
END 
AS '중성화'
from animal_ins
order by animal_id

if 문

SELECT animal_id, name, 
IF (sex_upon_intake LIKE '%Neutered%' OR sex_upon_intake LIKE '%Spayed%', 'O', 'X') 
AS '중성화'
from animal_ins
order by animal_id

정리

  • case

    CASE
    WHEN (조건1) THEN (조건1 반환값)
    WHEN (조건2) THEN (조건2 반환값)
    ELSE (충족되는 조건 없을 때 반환값)
    END

  • if

    IF (조건, 참일 때 값, 거짓일 때 값)

  • like: 특정 부분이 일치하는 데이터를 찾고싶을때 사용한다.
    1. 키워드로 시작하는 데이터 검색
      select * from 테이블명 where 컬럼 like ‘키워드%’;
    2. 키워드로 끝나는 데이터 검색
      select * from 테이블명 where 컬럼 like ‘%키워드’;
    3. 키워드가 들어가는 데이터 검색
      select * from 테이블명 where 컬럼 like ‘%키워드%’;


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기