programming language/Algorithm

[SQL JOIN] 프로그래머스 없어진 기록 찾기, 있었는데요 없었습니다, 오랜기간 보호한 동물, 보호소에서 중성화 한 동물

jellylucy 2022. 3. 18. 15:38

 

 

코딩테스트 연습 - 없어진 기록 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

select OUTS.ANIMAL_ID, OUTS.NAME from ANIMAL_OUTS OUTS
LEFT OUTER JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
where INS.ANIMAL_ID is null order by OUTS.ANIMAL_ID
  • LEFT OUTER : 왼쪽 테이블 기준으로 JOIN 한다 
  • JOIN 테이블명 ON

https://programmers.co.kr/learn/courses/30/lessons/59043

 

코딩테스트 연습 - 있었는데요 없었습니다

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

SELECT INS.ANIMAL_ID, INS.NAME from ANIMAL_INS INS
 JOIN ANIMAL_OUTS OUTS on INS.ANIMAL_ID = OUTS.ANIMAL_ID
where INS.DATETIME > OUTS.DATETIME order by INS.DATETIME
  • where 절에서 부등호 사용가능
  • DATETIME 비교에서 부등호 사용가능

https://programmers.co.kr/learn/courses/30/lessons/59044

 

코딩테스트 연습 - 오랜 기간 보호한 동물(1)

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

SELECT INS.NAME, INS.DATETIME from ANIMAL_INS INS
LEFT JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
where OUTS.ANIMAL_ID is null 
order by INS.DATETIME limit 3
  • order by 컬럼명 limit 수

https://programmers.co.kr/learn/courses/30/lessons/59045

 

코딩테스트 연습 - 보호소에서 중성화한 동물

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

SELECT OUTS.ANIMAL_ID, OUTS.ANIMAL_TYPE, OUTS.NAME from ANIMAL_OUTS OUTS
LEFT JOIN ANIMAL_INS INS on OUTS.ANIMAL_ID = INS.ANIMAL_ID
where OUTS.SEX_UPON_OUTCOME != INS.SEX_UPON_INTAKE
order by OUTS.ANIMAL_ID
  • where 절에서 중성화 컬럼이 다른 경우 쿼리 짬. 단순히 != 으로 이용