코딩테스트/SQL
[프로그래머스 SQL 고득점 kit 풀이] MySQL JOIN
allkites
2021. 7. 8. 23:38
- 없어진 기록 찾기
- `join` 은 `JOIN`, `LEFT JOIN`, `RIGHT JOIN`이 있다.
- `A (left, right) join B` 에 따라 왼쪽으로 포함되는지, 오른쪽으로 포함되는지, 그냥 합쳐지는지 다르다.
- `(테이블명).(칼럼명)`으로 꼭 테이블 명을 지정해줘야 하고 `ON`을 사용해 기준점을 잡아줘야한다.
SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAME FROM ANIMAL_INS RIGHT JOIN ANIMAL_OUTS
ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID WHERE ANIMAL_INS.ANIMAL_ID IS NULL;
- 있었는데요 없었습니다
SELECT ANIMAL_INS.ANIMAL_ID, ANIMAL_INS.NAME FROM ANIMAL_INS JOIN ANIMAL_OUTS
ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_INS.DATETIME > ANIMAL_OUTS.DATETIME
ORDER BY ANIMAL_INS.DATETIME;
- 오랜 기간 보호한 동물(1)
SELECT ANIMAL_INS.NAME, ANIMAL_INS.DATETIME FROM ANIMAL_INS LEFT JOIN ANIMAL_OUTS
ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID
WHERE ANIMAL_OUTS.ANIMAL_ID IS NULL
ORDER BY ANIMAL_INS.DATETIME
LIMIT 3;
- 보호소에서 중성화한 동물
SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.ANIMAL_TYPE, ANIMAL_OUTS.NAME FROM ANIMAL_OUTS LEFT JOIN ANIMAL_INS
ON ANIMAL_OUTS.ANIMAL_ID = ANIMAL_INS.ANIMAL_ID
WHERE ANIMAL_INS.SEX_UPON_intake like 'intact%'
and (ANIMAL_OUTS.SEX_UPON_OUTCOME like 'spayed%' or ANIMAL_OUTS.SEX_UPON_OUTCOME like 'neutered%')
ORDER BY ANIMAL_OUTS.ANIMAL_ID;
https://github.com/dayeonyang0324/TIL/blob/master/4.Algorithm/programmers/JOIN.md
dayeonyang0324/TIL
🎯Today I Learn. Contribute to dayeonyang0324/TIL development by creating an account on GitHub.
github.com