Language/└MySQL

[MySQL] 프로그래머스 SQL 고득점 Kit "JOIN" 문제 답안 | Yoon's Dev

Yooniron 2021. 5. 22. 21:02

프로그래머스 JOIN 문제 답안

 

 

프로그래머스 LEVEL 1 MySql로 푸는 JOIN 문 연습을 해보았습니다.

 

본 포스팅에서 작성하는 해답은 프로그래머스 예제에서 나온 문제를 바탕으로 작성하였습니다.

※본 답안은 무조건 이 답이다가 아닌 단순 참고용, 개인적인 답안입니다.
이 외에도 다양한 해결 방법이 있으니 참고용으로만 봐주시길 바랍니다.
(틀린 점이나 더 좋은 솔루션이 있으면 댓글로 적극 피드백 부탁드립니다!)

 

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

 

 


 JOIN

 

■ LEFT JOIN

✓ A 값의 전체와 A의 Key값과 B Key 값이 같은 결과를 리턴

 

SELECT [테이블]

FROM TABLE_A

LEFT JOIN TABLE_B ON TABLE_A.KEY = TABLE_B.KEY

 

LEFT JOIN (IS NULL)

- 순수 A의 값만 얻고자 할때 (where절이 추가됨)

+ where ~~ is null

 

■ INNER JOIN

✓ 일반적인 JOIN, 두 개의 테이블을 조건에 맞춰 연결해주는 작업

SELECT [테이블]

FROM TABLE_A

INNER JOIN TABLE_B ON TABLE_A.KEY = TABLE_B.KEY

 

■ OUTER JOIN

JOIN 할 테이블에 일치하는 레코드가 있으면 INNER 조인과 같은 결과를 만들어내지만,
INNER 테이블에 조건을 만족하는 레코드가 없는 경우에는 조인할 테이블의 칼럼을 모두 NULL로 채워서 가져옴

INNER 테이블이 조인의 결과에 전혀 영향을 미치지 않고, 

OUTER 테이블의 내용에 따라 조인의 결과가 결정되는 것이 OUTER JOIN의 특징.

 

SELECT [테이블]

FROM TABLE_A

[LEFT/RIGHT] OUTER JOIN TABLE_B ON TABLE_A.KEY = TABLE_B.KEY

 

 

1. 없어진 기록 찾기

 

 

 

실행 결과

 

 

2. 있었는데요 없었습니다

 

 

 

실행 결과

 

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

 

 

 

실행 결과

4. 보호소에서 중성화한 동물

 

 

실행 결과

 

 


※모든 문제에 대한 저작권은 프로그래머스(programmers.co.kr/)에 있습니다.