2024. 10. 22. 23:48ㆍ부트캠프 TIL
1. 프로그래머스 사용
1-1) sql 문제 : 없어진 기록찾기 Lv3
ㄴ 문제 : 일부 데이터가 유실이 되었습니다. 입양을 간 기록은 있으나 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID순으로 조회하는 SQL문을 작성해주세요.
문제풀이)
1) 문제를 읽고 필요한 조건들을 체크한다
- 조회할컬럼체크, ANIMAL_INS 테이블에 없는 ID데이터 찾기, ID기준 오름차순
2) 테이블 2개에서 참조할 컬럼을 체크한다
- PRODUCT_ID(식품ID)
3) 1,2번을 토대로 쿼리문을 작성한다.
- 처음부터 놓친부분은 없는지 찾아서 진행하면 좋지만, 디버깅 하듯이 작성한 쿼리를 실행하는 시행착오를 진행
4) id가 없는 쿼리
- 각 테이블마다 ANIMAL_ID 기준으로 조회해서 데이터가 다른 부분은 확인했으나, 한 쿼리로 해당부분을 한번에 없는 데이터들을 조회해야한다.
- *로 전체 데이터를 먼저 조회해서 확인하는게 좋다.
SELECT * FROM ANIMAL_OUTS a LEFT JOIN ANIMAL_INS b ON a.ANIMAL_ID = b.ANIMAL_ID - 해당쿼리로 조회
- 딱이렇게 비어있는 데이터를 확인할 수 있다.
- a로 참조한 ANIMAL_OUTS은 ID가 다 있고, b로 참조한 ANIMAL_INS은 id가 비었기 때문에
ANIMAL_INS의 ANIMAL_ID 로 IS NULL 조건을 주면된다.
5) 최종 완성 쿼리문
- 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 a.ANIMAL_ID ASC
'부트캠프 TIL' 카테고리의 다른 글
[62] 부트캠프 TIL - 본캠프 44일차 (1) | 2024.10.24 |
---|---|
[61] 부트캠프 TIL - 본캠프 43일차 (0) | 2024.10.23 |
[59] 부트캠프 TIL - 본캠프 41일차 (6) | 2024.10.21 |
[58] 부트캠프 TIL - 본캠프 40일차 (0) | 2024.10.18 |
[57] 부트캠프 TIL - 본캠프 39일차 (10) | 2024.10.17 |