SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.SEX_UPON_INTAKE LIKE 'Intact%' and
(B.SEX_UPON_OUTCOME LIKE 'Neutered%' OR
B.SEX_UPON_OUTCOME LIKE 'Spayed%')
ORDER BY A.ANIMAL_ID;
보호소에 들어올 당시에는 중성화 되지 않았지만 보호소를 나갈 때 중성화된 동물을 조회하는 문제다.
ANIMAL_INS의 SEX_UPON_INTAKE, ANIMAL_OUTS의 SEX_UPON_OUTCOME 값을 확인하면 된다.
Intact ~, Spayed~, Neutered~ 총 3가지가 있다.
- Intact ~ 는 중성화 되지 않은 상태를 뜻한다.
- Spayed~ 와 Neutered~는 중성화 된 상태를 뜻한다.
처음에는 Neutered로만 비교 해서 오답처리
그 다음으로 Neutered, Spayed 에 IN 명령어를 처리해서 오답처리 됐었다...
LIKE 연산자
- 특정 문자가 포함되어 있는지 검사할 때 사용한다.
- SELECT [필드명] FROM [테이블명] WHERE [필드명] LIKE '특정 문자열'
특정 문자열 형태 | 뜻 |
'특정 문자열%' | 특정 문자로 시작하는 데이터 검색 |
'%특정 문자열' | 특정 문자로 끝나는 데이터 검색 |
'%특정 문자열%' | 특정 문자를 포함하는 데이터 검색 |
[실행결과]
'Language > SQL' 카테고리의 다른 글
[프로그래머스] 이름에 el이 들어가는 동물 찾기 (0) | 2022.07.05 |
---|---|
[프로그래머스] 루시와 엘라 찾기 (0) | 2022.07.05 |
[프로그래머스] 오랜 기간 보호한 동물(1) (0) | 2022.07.05 |
[프로그래머스] 있었는데요 없었습니다 (0) | 2022.07.05 |
[프로그래머스] 없어진 기록 찾기 (0) | 2022.07.05 |