본문 바로가기
알고리즘/programmers

[프로그래머스 SQL] JOIN 문제 풀이

by hyerann 2020. 1. 19.

JOIN은 테이블 사이 관계를 맺을 수 있는가를 확인하는 문제들입니다. 

레벨은 3~4로 측정되어 있고, 출제 빈도는 높고 평균 점수는 낮다고 합니다.

유일하게 출제 빈도가 높다고 측정된 유형이기 때문에 확실히 숙지해두어야 합니다.

https://programmers.co.kr/learn/courses/30/parts/17046

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

없어진 기록 찾기

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY ANIMAL_ID

있었는데요 없었습니다

SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME

오랜 기간 보호한 동물(1)

SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS A LEFT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME
LIMIT 3

보호소에서 중성화한 동물

SELECT B.ANIMAL_ID, B.ANIMAL_TYPE, B.NAME
FROM ANIMAL_INS A RIGHT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.SEX_UPON_INTAKE LIKE 'Intact%'
AND B.SEX_UPON_OUTCOME NOT LIKE 'Intact%'
ORDER BY B.ANIMAL_ID

 

댓글