없어진 기록 찾기
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_OUTS O
LEFT JOIN ANIMAL_INS I ON O.ANIMAL_ID=I.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY O.ANIMAL_ID;
🔎 LEFT JOIN : 기준 테이블(FROM절) 전체와 JOIN한 테이블들의 KEY 값이 같은 결과를 리턴
있었는데요 없었습니다
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I, ANIMAL_OUTS O
WHERE
I.ANIMAL_ID = O.ANIMAL_ID
AND
I.DATETIME > O.DATETIME
ORDER BY I.DATETIME;
오랜 기간 보호한 동물(1)
SELECT I.NAME, I.DATETIME
FROM ANIMAL_INS I
LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE O.DATETIME IS NULL
ORDER BY I.DATETIME
LIMIT 3;
보호소에서 중성화한 동물
SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME
FROM ANIMAL_INS I, ANIMAL_OUTS O
WHERE I.ANIMAL_ID = O.ANIMAL_ID
AND
I.SEX_UPON_INTAKE LIKE '%Intact%'
AND
O.SEX_UPON_OUTCOME REGEXP 'Spaye|Neutered'
ORDER BY I.ANIMAL_ID
🔎 LIKE
절은 한 구문으로 여러 개의 조건을 걸 수 없습니다. 그래서, REGEXP
절을 사용하여 정규표현식으로 2개 이상의 다양한 조건을 걸 수 있습니다.
WHERE REGEXP_LIKE (O.SEX_UPON_OUTCOME REGEXP, 'Spaye|Neutered')