프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
#1 없어진 기록 찾기
WHERE문에서 이름이 널 값인 데이터를 비교해준다.
IS를 사용해야 한다. =를 사용하면 안된다.
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
LEFT OUTER JOIN ANIMAL_INS AS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NULL
ORDER BY OUTS.ANIMAL_ID
#2 있었는데요 없었습니다
INS.DATETIME > OUTS.DATETIME인 ANIMAL_INS의 데이터
SELECT INS.ANIMAL_ID, INS.NAME
FROM ANIMAL_INS AS INS
LEFT OUTER JOIN ANIMAL_OUTS AS OUTS
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
WHERE INS.DATETIME > OUTS.DATETIME
ORDER BY INS.DATETIME
#3 오랜 기간 보호한 동물(1)
OUTS.ANIMAL_ID IS NULL인 ANIMAL_INS의 데이터를 인덱스0부터 3개 출력
SELECT INS.NAME, INS.DATETIME
FROM ANIMAL_INS AS INS
LEFT OUTER JOIN ANIMAL_OUTS AS OUTS
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
WHERE OUTS.ANIMAL_ID IS NULL
ORDER BY INS.DATETIME
LIMIT 0,3
#4 보호소에서 중성화한 동물
INS.SEX_UPON_INTAKE LIKE ' Intact%' 이고
(OUTS.SEX_UPON_OUTCOME LIKE 'Spayed%' OR OUTS.SEX_UPON_OUTCOME LIKE 'Neutered%')인
ANIMAL_OUTS의 데이터 출력
LIKE는 뒤에 문장이 포함되어 있는지 확인
SELECT OUTS.ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
LEFT OUTER 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 'Spayed%' OR OUTS.SEX_UPON_OUTCOME LIKE 'Neutered%')
ORDER BY OUTS.ANIMAL_ID
정리하기
'프로그래밍 > MySQL' 카테고리의 다른 글
[MySQL] SQL ZOO SELECT basics 답 해설 (0) | 2021.02.18 |
---|---|
[MySQL] 프로그래머스 SQL String, Date 답 해설 (0) | 2021.02.17 |
[MySQL] 프로그래머스 SQL IS NULL 답 해설 (0) | 2021.02.17 |
[MySQL] 프로그래머스 SQL GROUP BY 답 해설 (0) | 2021.02.17 |
[MySQL] 프로그래머스 SQL SUM, MAX, MIN 답 해설 (0) | 2021.02.17 |