문제
풀이 1
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN (SELECT ANIMAL_ID FROM ANIMAL_INS)
WHERE 절 서브 쿼리를 사용한 풀이이다. 개인적으로 JOIN을 이용한 풀이보다 더 간단하다고 생각했다!
서브 쿼리(Subqueries)
- 서브 쿼리란 하나의 질의문 내부에 하나 이상의 다른 질의문이 포함되어 그 결과를 이용하거나, 그 결과와 연관된 자료를 출력하기 위해 사용하는 질의문을 의미한다.
- From 절에 사용되는 서브 쿼리를 인라인 뷰(inline View)라고 하며 Where 절에 사용되는 서브 쿼리를 중첩 서브 쿼리(Nested/Correlated Subquery)라고 한다.
풀이 2 (JOIN)
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 B.ANIMAL_ID
문제의 의도대로 JOIN 중 LEFTJOIN을 사용하여 푼 풀이이다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pyj721aa&logNo=221466664622
https://brightestbulb.tistory.com/153
'DataBase > SQL Queries' 카테고리의 다른 글
[프로그래머스] JOIN - 있었는데요 없었습니다 / USING (0) | 2022.03.25 |
---|---|
[프로그래머스] IS NULL, IS NOT NULL, IF NULL (0) | 2022.03.18 |
[프로그래머스] GROUP BY - 입양 시각 구하기(2) / 매 시간대별 통계, JOIN, IFNULL (0) | 2022.03.18 |
[프로그래머스] GROUP BY - 입양 시각 구하기(1) / 통계 유형별 조회, BETWEEN (0) | 2022.03.07 |
[프로그래머스]GROUP BY - 동명 동물 수 찾기 (0) | 2022.02.09 |