프로그래머스 SQL 고득점 Kit
https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit
관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.
SELECT OUTS.ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.SEX_UPON_INTAKE LIKE '%Intact%'
AND (OUTS.SEX_UPON_OUTCOME LIKE '%Neutered%' OR OUTS.SEX_UPON_OUTCOME LIKE '%Spayed%')
ORDER BY OUTS.ANIMAL_ID;
LIKE
를 활용할 수 있다면 어렵지 않은 문제였다.
처음에 작성했던 쿼리는 문제가 많았다.. 여기에 올리기 부끄러울 정도
SELECT OUTS.ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
JOIN ANIMAL_INS AS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
HAVING INS.SEX_UPON_INTAKE LIKE %Intac%
WHERE OUTS.SEX_UPON_INTAKE LIKE %Neutured% and
OUTS.SEX_UPON_INTAKE LIKE %Spayed%
ORDER BY OUTS.ANIMAL_ID;
집계 없는 조건을 HAVING
절에 사용
절 순서 : WHERE
-> GROUP BY
-> HAVING
LIKE 문법 활용시 따옴표 사용 X
논리연산자 활용
AND
를 활용할 수가 있지??쿼리 공부 다시 열심히 해야겠다 ..