Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags more
Archives
Today
Total
관리 메뉴

데이터 분석

프로그래머스 - 없어진 기록 찾기, 있었는데요 없었습니다 (JOIN) 본문

SQL/프로그래머스 코딩

프로그래머스 - 없어진 기록 찾기, 있었는데요 없었습니다 (JOIN)

시니조 2023. 2. 26. 23:00
  • OUTER JOIN
  • INNER JOIN

 

 

 

OUTER JOIN은 JOIN 조건에서 동일한 값이 없는 행도 출력된다.

 

ANIMAL_OUTS 테이블을 좌측에 두고 ANIMAL_INS 테이블을 우측에서 붙여 우측에 NULL값인 칼럼만 체크하면 된다.

 

 

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 ANIMAL_ID, NAME
;

1~3줄 : JOIN

4줄 : NULL값만 추출

 

https://school.programmers.co.kr/learn/courses/30/lessons/59042

 

 

 

 

 

 

INNER JOIN = JOIN

JOIN조건에서 동일한 값이 있는 행만 반환한다. 교집합이라 생각하면 된다.

 

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 ASC
;

 

1~3줄 : ANIMAL_ID를 기준으로 양쪽 테이블 모두있는 데이터를 추출한다.

4줄 : ANIMAL_INS테이블의 DATETIME이 더 큰(더 최근에 가까운) 데이터만 추출한다.

 

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