[MySQL] MySQL IF, Case 조건 (프로그래머스 중성화 여부 파악하기)

2021. 5. 12. 10:15·코딩테스트/DB
반응형

IF 문

형식 : if ( 조건문, 참일때 값, 거짓일때 값)

 

EX)

select member_id, if ( isnull(birthday), '-', birthday ) from member

설명 - 멤버 테이블에서 아이디(member_id) 와 생일을 뽑는데 null 일경우는 - 를 출력,
아니면 생일을 출력

Case 문

형식 : case (조건 또는 값)


when 값1 then 표시값
when 값2 then 표시값
else 표시값
end

EX)

select case a when '1' then a when '2' then b else c end from table_name

설명 - a 값이 '1'이면 a, '2' 이면 b, 둘다 아닐경우 c 를 출력

ifnull문

형식 : ifnull ( 값1, 값2)

 

EX )

select ifnull ( price, 0 ) from books

설명 - price 값이 Null 이면 0을, Null 이 아니면 price 값을 출력

문제. 중성화 여부 파악하기

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

 

코딩테스트 연습 - 중성화 여부 파악하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

ANIMAL_ID NAME 중성화
A349996 Sugar O
A350276 Jewel O
A350375 Meo O
A352555 Harley O
A352713 Gia O
A352872 Peanutbutter O
A353259 Bj O
A354540 Tux O
A354597 Ariel O
A354725 Kia O
A354753 Sammy O
A355519 Faith O
A355688 Shadow O
A355753 Elijah O
A357021 Queens O
A357444 Puppy O
A357846 Happy O
A358697 Fuzzo O
A358879 Simba O
A361391 Baby Bear O
A362103 Stitch O
A362383 *Morado O
A362707 Girly Girl O
A362967 Honey O
A363653 Goofy O
A364429 Hugo O
A365172 Diablo O
A365302 Minnie O
A367012 Miller O
A367438 Cookie O
A367747 Woody O
A368742 Stormy O
A368930 O
A370439 Sniket O
A370507 Emily O
A370852 Katie O
A371000 Greg O
A371102 Ceballo O
A371344 Sailor O
A371534 April O
A373219 Ella O
A373687 Rosie O
A375393 Dash O
A376322 Mama Dog O
A376459 Dora O
A377750 Lucy O
A378348 Frijolito O
A378353 Lyla X
A378818 Zoe O
A378946 Mercedes O
A379998 Disciple X
A380009 Pickle O
A380320 Scooby O
A380420 Laika O
A380506 Ruby O
A381173 Pepper O
A381217 Cherokee O
A382192 Maxwell 2 X
A382251 Princess O
A383036 Oreo O
A383964 Finney O
A384360 Jj O
A384568 Jedi O
A385442 Clyde O
A386005 Giovanni O
A386276 Tiko O
A386688 Punch O
A387083 Goldie O
A387965 Dakota O
A388360 Spider O
A388691 Blaze O
A390222 Holly O
A391512 Rome O
A391858 Nellie O
A392027 Penny O
A392075 Skips O
A392615 Chip O
A394547 Snickerdoodl O
A395451 Rogan O
A396810 Raven O
A397882 Charlie O
A399421 Lucy O
A399552 Jack O
A400498 Reggie O
A400680 Lucy O
A403564 Anna O
A405494 Kaila O
A406756 Sabrina O
A407156 Jake O
A408035 Lizzie O
A409637 Stanley O
A410330 Chewy X
A410668 Raven O
A410684 Mitty O
A412173 Jimminee O
A412626 *Sam O
A412697 Jackie O
A413789 Benji O
A414198 Shelly O
A414513 Rocky O

풀이 1. 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 ASC

풀이 2. CASE 조건

SELECT ANIMAL_ID, NAME,
CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' or SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' ELSE 'X' END
FROM ANIMAL_INS

 

반응형
'코딩테스트/DB' 카테고리의 다른 글
  • [MySQL] DATETIME 날짜 차이 구하기(DATEDIFF 함수)
  • [MySQL] MySQL 테이블 조인(Inner Join, Outer[Left, Right] Join)
  • [MySQL] 컬럼의 최소 값, 최대값 가져오기(min, max 함수, 서브쿼리)
  • [MySQL] MYSQL 조건절의 조합(AND/OR/NOT/IN)
seunghwaan
seunghwaan
공부한 내용을 정리하는 개발 기록 블로그
  • seunghwaan
    SH's Devlog
    seunghwaan
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • Android (62)
        • Basic (17)
        • Kotlin(Java) (14)
        • UI & Animation (1)
        • Compose (2)
        • Coroutines (1)
        • Dependency Injection (6)
        • RxJava (8)
        • BLE (3)
        • TDD (2)
        • JetPack (1)
        • NextStep (4)
        • Error Log (3)
      • Flutter (14)
        • Basic (5)
        • Dart (1)
        • State Management (2)
        • Widgets (4)
        • Error and Tips (2)
      • CS(Computer Science) (18)
        • Network (4)
        • Database (10)
        • Design Pattern (1)
        • Computer Architecture (3)
        • Operating System (0)
      • iOS (8)
        • Basic (0)
        • Swift (8)
      • Cloud (6)
        • AWS (6)
      • Web Frontend (0)
        • JavaScript(TS) (0)
        • React (0)
      • DevOps (25)
        • GIT (4)
        • CI CD (8)
        • Linux (4)
        • Docker (9)
        • Error Log (0)
      • 코딩테스트 (10)
        • DB (6)
        • 알고리즘 (4)
      • Backend (1)
        • Spring (1)
      • Mac Tip (0)
      • Temporary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    FLUTTER
    네트워크
    Computer Science
    MySQL
    시작하세요! 도커
    Kotlin
    CICD
    Jenkins
    Dependency Injection
    cd
    Network
    RxJava
    Android
    AWS
    docker
    di
    CI
    cs
    error
    BLE
    cognito
    Linux
    gradle
    Algorithm
    컴퓨터공학
    상태 관리
    IOS
    Dagger
    database
    Swift
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
seunghwaan
[MySQL] MySQL IF, Case 조건 (프로그래머스 중성화 여부 파악하기)
상단으로

티스토리툴바