Coding Test/SQL 연습 문제

프로그래머스/MySQL - JOIN 08. 보호소에서 중성화한 동물

parkes811 2023. 1. 19. 23:59
 

프로그래머스

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

programmers.co.kr

 

  • 문제

 

  • 코드 및 문제 풀이
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_INS AS A
JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE (B.SEX_UPON_OUTCOME LIKE 'Neutered%' 
      OR B.SEX_UPON_OUTCOME LIKE 'Spayed%') 
      AND A.SEX_UPON_INTAKE LIKE 'Intact%'
ORDER BY A.ANIMAL_ID

- 보호소에 들어올 당시 중성화가 되지 않았다가 나갈 때 중성화가 된 동물을 조회하기 위해서 JOIN 연산을 통해 A, B 테이블 정보를 합쳤습니다.

- A 테이블에 Intact 상태의 동물들이 B 테이블에서 Neutered이거나 Spayed로 상태가 바뀐 동물을 조회하기 위해 LIKE 연산자로 조회했습니다.

- OR 연산의 우선순위를 두기 위해 ()를 사용했습니다.