개미의 개열시미 프로그래밍

[프로그래머스] SQL 고득점 Kit - JOIN 본문

SQL/SQL 문제풀이 (프로그래머스)

[프로그래머스] SQL 고득점 Kit - JOIN

YunHyeok 2021. 9. 13. 17:39
728x90
반응형

드디어 마지막... 프로그래머스로 SQL 벼락치기 완료 내일 복습하고 수요일날 코테에 SQL한문제는 꼭 맞추도록 노력해야겠다!

 

[JOIN KIT]


JOIN 개념

: JOIN은 관계형 데이터 베이스에서 일반적으로 많이 사용한다. 총 네 가지의 조인이 있다.

 

1. INNER 조인

SELECT A.id, A.name, B.title
FROM TABLE1 as A
INNER JOIN TABLE2 as B
ON A.id = B.id

- 여기서 ON은 두 테이블이 결합하는 조건으로 WHERE로 대체할 수 있다.

 

 

2. LEFT OUTER, RIGHT OUTER, OUTER 조인

# LEFT JOIN
SELECT A.id, A.name, B.title
FROM TABLE1 as A
LEFT JOIN TABLE2 as B
ON A.id = B.id

# OUTER JOIN
SELECT A.id, A.name, B.title
FROM TABLE1 as A
RIGHT JOIN TABLE2 as B
ON A.id = B.id

 

#1. [프로그래머스] 없어진 기록 찾기 - Level 3


[풀이 답]

-- 코드를 입력하세요
SELECT B.ANIMAL_ID, B.NAME 
FROM ANIMAL_INS AS A
RIGHT OUTER JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.ANIMAL_ID IS NULL

 

 

 

#2. [프로그래머스] 있었는데요 없었습니다 - Level 3


[풀이 답]

-- 코드를 입력하세요
SELECT B.ANIMAL_ID, B.NAME
FROM ANIMAL_INS AS A
INNER JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME 
ORDER BY A.DATETIME # 보호시작일이 빠른일부터 조회!

 

 

 

#3. [프로그래머스] 오랜 기간 보호한 동물(1) - Level 3


 

[풀이 답]

-- 코드를 입력하세요
SELECT A.NAME, A.DATETIME 
FROM ANIMAL_INS AS A
LEFT OUTER JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME
LIMIT 3

 

 

#4. [프로그래머스] 보호소에서 중성화한 동물 - Level 4


[풀이 답]

-- 코드를 입력하세요
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME 
FROM ANIMAL_INS AS A
INNER JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.SEX_UPON_INTAKE IN('Intact Male','Intact Female') and B.SEX_UPON_OUTCOME IN('Neutered Male', 'Spayed Female') 
ORDER BY A.ANIMAL_ID

 

 

 

[참고 블로그]


https://futurists.tistory.com/17

https://m.blog.naver.com/good_ray/221731876211

 

728x90
반응형
Comments