[프로그래머스, SQL] 보호소에서 중성화한 동물

2026. 8. 2. 02:12·코테/MySQL

💻 코드1

SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, AI.NAME
FROM ANIMAL_INS AI
         LEFT JOIN ANIMAL_OUTS AO
                   ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.SEX_UPON_INTAKE LIKE 'Intact%'
  AND AO.SEX_UPON_OUTCOME 
          IN ('Neutered Female', 'Spayed Female', 'Neutered Male', 'Spayed Male')
ORDER BY AI.ANIMAL_ID ASC;

💻 코드2

SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, AI.NAME
FROM ANIMAL_INS AI
    JOIN ANIMAL_OUTS AO ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.SEX_UPON_INTAKE LIKE 'Intact%'
  AND (AO.SEX_UPON_OUTCOME LIKE 'Neutered%' OR AO.SEX_UPON_OUTCOME LIKE 'Spayed%')
ORDER BY AI.ANIMAL_ID ASC;

코드1도 결과는 똑같이 나오지만 두 가지를 바꿨다.

  • LEFT JOIN을 그냥 JOIN(INNER JOIN)으로 바꿨다.
    WHERE절에서 AO.SEX_UPON_OUTCOME에 조건을 걸기 때문에, 입양 기록이 아예 없는(AO가 NULL인) 동물은 어차피 걸러진다.
  • IN ('Neutered Female', 'Spayed Female', 'Neutered Male', 'Spayed Male')처럼 네 가지 조합을 나열하는 대신 LIKE 'Neutered%' OR LIKE 'Spayed%'로 바꿨다.
    AI.SEX_UPON_INTAKE LIKE 'Intact%'에서도 성별은 신경 안 쓰고 접두어만 봤던 것처럼, 나가는 쪽도 접두어 기준으로 통일하는 게 더 일관되고 값 조합을 일일이 나열할 필요가 없다.

📖 새로 배운 부분

  1. LIKE 'Intact%'처럼 접두어 패턴으로 값을 걸러내면, 뒤에 붙는 성별(Male/Female)과 상관없이 상태만 확인할 수 있다는 걸 다시 확인했다.

참고

  • 보호소에서 중성화한 동물 - 프로그래머스
 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

'코테 > MySQL' 카테고리의 다른 글

[프로그래머스, SQL] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기  (0) 2026.08.02
[프로그래머스, SQL] 상품 별 오프라인 매출 구하기  (0) 2026.08.02
[프로그래머스, SQL] 오랜 기간 보호한 동물(1)  (0) 2026.08.02
[프로그래머스, SQL] 있었는데요 없었습니다  (0) 2026.08.02
[프로그래머스, SQL] 없어진 기록 찾기  (0) 2026.08.02
'코테/MySQL' 카테고리의 다른 글
  • [프로그래머스, SQL] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기
  • [프로그래머스, SQL] 상품 별 오프라인 매출 구하기
  • [프로그래머스, SQL] 오랜 기간 보호한 동물(1)
  • [프로그래머스, SQL] 있었는데요 없었습니다
devoks
devoks
느려도 꾸준히
  • devoks
    ok's 개발일지
    devoks
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Front-End
      • Back-End
        • Spring
        • Infra
        • AI
      • Computer Science
        • Cs
      • 언어
        • Java
        • SQL
      • 코테
        • Java
        • MySQL
      • Etc.
  • 블로그 메뉴

    • 홈
  • 링크

    • My GitHub
  • 공지사항

  • 인기 글

  • 태그

    최대공약수
    Container
    CI/CD
    StringTokenizer
    effectivejava
    json
    정규표현식
    persist
    springboot
    역직렬화
    programmers
    Regex
    codingtest
    docker
    PrePersist
    BFS
    switch
    CS
    stack
    replace
    최대공배수
    IaaS
    BufferedReader
    java
    replaceAll
    dfs
    유클리드호제법
    compare
    BufferedWriter
    PaaS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devoks
[프로그래머스, SQL] 보호소에서 중성화한 동물
상단으로

티스토리툴바