2023. 11. 22. 17:17, 알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/59042
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN (
SELECT ANIMAL_ID
FROM ANIMAL_INS
)
현재의 문제가 분류되어 있는 범위가 JOIN 이라고 나와있는 문제 영역에서 나왔지만,
이런식으로 해결해도 문제가 없을 것이라 생각되어서 위와 같이 작성하여서 제출하고 통과하였다.
꽤나 간략한 형태라고 생각해서 위처럼 작성해는데,
JOIN 영역에 있는 문제이니까 JOIN을 사용한 형태로 다시 작성해보면,
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
LEFT OUTER JOIN ANIMAL_INS AS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID is NULL
ORDER BY OUTS.ANIMAL_ID
이때에 LEFT OUTER JOIN 에 대한 정보에 대한 이미지를 첨부하면,
위와 같다.
결국 이렇게 LEFT OUTER JOIN 을 통해서 LEFT에 있는걸 전부 가져오는데, 거기서 JOIN이 되어있는 RIGHT에 있는 것들에 WHERE 을 통해서 필터링을 통해서 골라서 가져올 수 있게 만드는 형태로 위와 같이 LEFT OUTER JOIN 형태의 코드를 사용해서 문제를 해결할 수 있다.
그런데 그냥 이 문제에 있어서는 내가 작성한 형태로 하는것이 더 편하지 않을까 싶다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 LV 4. 131117 5월 식품들의 총매출 조회하기 MySQL (0) | 2023.11.22 |
---|---|
프로그래머스 LV 4. 157339 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 MySQL (0) | 2023.11.22 |
프로그래머스 LV 4. 133027 주문량이 많은 아이스크림들 조회하기 MySQL (0) | 2023.11.21 |
프로그래머스 LV 1. 131528 나이 정보가 없는 회원 수 구하기 MySQL (0) | 2023.11.21 |
프로그래머스 LV 2. 59410 NULL 처리하기 MySQL (0) | 2023.11.21 |
Comments, Trackbacks