개발새발

[프로그래머스 SQL 고득점 kit 풀이] MySQL JOIN 본문

코딩테스트/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

 

Comments