[문제]
보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 아이디 순으로 조회하는 SQL 문을 작성해주세요.
[단계별 풀이]
1. ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블을 ANIMAL_ID 기준으로 JOIN
2. INS의 SEX_UPON_INTAKE가 'Intact' 이면서 OUTS의 SEX_UPON_OUTCOME이 'Spayed' 또는 'Neutered' 인 행을 필터링
3. 아이디와 생물 종, 이름을 선택
4. ID 순으로 오름차순 정렬
참고: REGEXP보다 LIKE 연산자가 단순문자열 패턴 매칭이기 때문에 좀 더 빠릅니다.
[정답]
SELECT I.ANIMAL_ID,
I.ANIMAL_TYPE,
I.NAME
FROM ANIMAL_INS I
JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.SEX_UPON_INTAKE REGEXP 'Intact'
AND O.SEX_UPON_OUTCOME REGEXP 'Spayed|Neutered'
ORDER BY I.ANIMAL_ID
'코딩 테스트 > SQL' 카테고리의 다른 글
조건별로 분류하여 주문상태 출력하기 (0) | 2024.12.11 |
---|---|
조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2024.12.11 |
오랜 기간 보호한 동물2 (0) | 2024.12.11 |
있었는데요 없었습니다 (0) | 2024.12.11 |
상품 별 오프라인 매출 구하기 (1) | 2024.12.11 |