행궁동 데이터 엔지니어

반응형

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

 

코딩테스트 연습 - 없어진 기록 찾기 | 프로그래머스

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS

programmers.co.kr

오늘은 프로그래머스에서 SQL 문제를 풀어봤습니다.

 

'없어진 기록 찾기'라는 문제로 2가지 방법으로 풀어봤고, 코드는 아래 첨부합니다.

(MySQL 코드)

 

-- 1번 풀이
-- LEFT JOIN 사용
SELECT OUTS.ANIMAL_ID, OUTS.NAME AS INNAME FROM ANIMAL_OUTS OUTS
LEFT JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE (INS.NAME IS NULL AND OUTS.NAME IS NOT NULL);
-- 2번 풀이
-- DISTINCT 사용
-- SELECT DISTINCT ANIMAL_ID FROM ANIMAL_INS; / 입양'한' 목록
-- SELECT DISTINCT ANIMAL_ID FROM ANIMAL_OUTS; / 입양'간' 목록
-- 입양 '간' 목록에 있지만 입양 '한' 목록에 없으면 ANIMAL_ID와 NAME 출력
SELECT ANIMAL_ID, NAME FROM ANIMAL_OUTS WHERE ANIMAL_ID -- 입양 '간' 목록
NOT IN (SELECT DISTINCT ANIMAL_ID FROM ANIMAL_INS); -- 입양 '한' 목록
view raw exercise.sql hosted with ❤ by GitHub
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band