Problem Solving/프로그래머스

[MySQL] 프로그래머스 59045. 보호소에서 중성화한 동물

LeeJaeJun 2024. 3. 1. 00:16
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/59045

 

프로그래머스

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

programmers.co.kr

정답 코드
SELECT ANIMAL_INS.ANIMAL_ID, ANIMAL_INS.ANIMAL_TYPE, ANIMAL_INS.NAME
FROM ANIMAL_INS JOIN ANIMAL_OUTS USING(ANIMAL_ID)
WHERE ANIMAL_INS.SEX_UPON_INTAKE NOT IN ("Spayed Female", "Neutered Male")
AND ANIMAL_OUTS.SEX_UPON_OUTCOME IN ("Spayed Female", "Neutered Male")
ORDER BY ANIMAL_INS.ANIMAL_ID;
SELECT ANIMAL_INS.ANIMAL_ID, ANIMAL_INS.ANIMAL_TYPE, ANIMAL_INS.NAME
FROM ANIMAL_INS JOIN ANIMAL_OUTS ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_INS.SEX_UPON_INTAKE NOT REGEXP 'Spayed|Neutered'
AND ANIMAL_OUTS.SEX_UPON_OUTCOME REGEXP 'Spayed|Neutered'
ORDER BY ANIMAL_INS.ANIMAL_ID;

 

REGEXP

  • 문자열이 주어진 정규 표현식과 일치하는지 검사
컬럼명 REGEXP '정규표현식'
  • . : 임의의 단일 문자와 일치합니다.
  • | : 두 패턴 중 하나와 일치합니다 (OR 조건).
  • * : 바로 앞의 문자가 0번 이상 반복되는 경우와 일치합니다.
  • + :  바로 앞의 문자가 1번 이상 반복되는 경우와 일치합니다.
  • ?:  바로 앞의 문자가 0번 또는 1번 나타나는 경우와 일치합니다.
  • ^ : 문자열의 시작과 일치합니다.
  • $ : 문자열의 끝과 일치합니다.
  • [abc] : 괄호 안의 어떤 단일 문자와도 일치합니다 (이 경우 a, b, 또는 c).
  • [^abc] : 괄호 안의 문자를 제외한 어떤 단일 문자와도 일치합니다.
  • (abc) : 괄호 안의 정확한 문자열과 일치합니다.
  • 'abc' REGEXP '^a': 문자열이 'a'로 시작하는지 검사합니다.
  • 'abc' REGEXP 'b$': 문자열이 'b'로 끝나는지 검사합니다.
  • 'abc' REGEXP 'a|b': 문자열에 'a' 또는 'b'가 포함되어 있는지 검사합니다.
  • 'abc' REGEXP '[a-c]': 문자열이 a, b, 또는 c를 포함하는지 검사합니다.
728x90
반응형