[programmers-mysql] JOIN

배채윤·2020년 11월 28일
0

JOIN

없어진 기록찾기

SELECT ao.ANIMAL_ID, ao.NAME
FROM ANIMAL_OUTS AS ao
LEFT OUTER JOIN ANIMAL_INS AS ai 
ON ao.ANIMAL_ID = ai.ANIMAL_ID
WHERE ai.ANIMAL_ID is NULL
ORDER BY ao.ANIMAL_ID

있었는데요 없었습니다

보호일은 있지만 입양일은 없을 수도 있기 때문에 LEFT JOIN OUTER 를 썼다. 날짜는 비교연산자로 비교할 수 있다.

SELECT ai.ANIMAL_ID, ai.NAME
FROM ANIMAL_INS as ai 
LEFT JOIN ANIMAL_OUTS as ao 
ON ai.ANIMAL_ID = ao.ANIMAL_ID
WHERE ai.DATETIME > ao.DATETIME
ORDER BY ai.DATETIME

오랜 기간 보호한 동물

SELECT ai.NAME, ai.DATETIME
FROM ANIMAL_INS AS ai
LEFT OUTER JOIN ANIMAL_OUTS AS ao
ON ai.ANIMAL_ID = ao.ANIMAL_ID
WHERE ao.DATETIME is NULL
ORDER BY ai.DATETIME
LIMIT 3

보호소에서 중성화한 동물

부분적으로 일치하는지 확인할 수 있는 LIKE 구문을 이용했다.

SELECT ao.ANIMAL_ID, ao.ANIMAL_TYPE, ao.NAME
FROM ANIMAL_OUTS AS ao
JOIN ANIMAL_INS AS ai
ON ao.ANIMAL_ID = ai.ANIMAL_ID
WHERE ai.SEX_UPON_INTAKE LIKE 'Intact%' 
AND (ao.SEX_UPON_OUTCOME LIKE 'Spayed%' OR ao.SEX_UPON_OUTCOME LIKE 'Neutered%')
profile
새로운 기술을 테스트하고 적용해보는 걸 좋아하는 서버 개발자

0개의 댓글