SQL 관련 모든 문제들은 MySQL을 기준으로 해결했다.
ANIMAL_INS 테이블에서 중성화하지 않은 값(SEX_UPON_INTAKE 부분에 'Intact'가 붙은)만 가져와서 ANIMAL_OUT 테이블에서는 중성화가 된 값(SEX_UPON_OUTCOME 부분에 'Spayed' 또는 'Neutered'가 붙은)들을 ANIMAL_OUT의 ANIMAL_ID로 정렬해 출력하라는 것으로 문제를 정리할 수 있다.
이번에도 JOIN
을 사용해서 두 테이블을 매치해 값을 가져오면 된다.
그리고 특정 문자가 포함되어 있는지를 검색해야 하는데, 이 때 LIKE
를 사용한다.
LIKE는 이렇게 사용하면 된다.
# abc로 시작하는 책 제목 검색
SELECT * FROM book WHERE title LIKE 'abc%';
# abc로 끝나는 책 제목 검색
SELECT * FROM book WHERE title LIKE '%abc';
# abc가 들어가는 책 제목 검색
SELECT * FROM book WHERE title LIKE '%abc%';
SELECT O.ANIMAL_ID, O.ANIMAL_TYPE, O.NAME
FROM ANIMAL_OUTS O
JOIN ANIMAL_INS I
ON O.ANIMAL_ID=I.ANIMAL_ID
WHERE (O.SEX_UPON_OUTCOME LIKE '%Neutered%' OR O.SEX_UPON_OUTCOME LIKE '%Spayed%') AND I.SEX_UPON_INTAKE LIKE '%Intact%';
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/59045