강의로 돌아가기
김민규

이 둘 코드의 차이를 모르겠습니다. 이것 때문에 틀렸는뎀..

정답쿼리
SELECT * FROM
(SELECT a.NAME, a.DATETIME
FROM ANIMALINS a LEFT JOIN ANIMALOUTS b
on a.ANIMALID = b.ANIMALID
WHERE b.ANIMAL_ID is null
ORDER BY a.DATETIME)
WHERE ROWNUM <= 3

제가 작성한 쿼리
SELECT * FROM
(SELECT a.NAME, a.DATETIME
FROM ANIMALINS a LEFT JOIN ANIMALOUTS b
on a.ANIMALID = b.ANIMALID
AND b.ANIMAL_ID is null
ORDER BY a.DATETIME)
WHERE ROWNUM <= 3

조인 걸때에 on 절에 b.ANIMAL_ID is null 코드를 작성하는 것과 where절에서 작성했을 때 결과 값이 왜 달라지나요?

작성중인 코드―solution.sql
1
2
3
4
5
6
7
8
-- 코드를 입력하세요
SELECT * FROM 
(SELECT a.NAME, a.DATETIME 
FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b
on a.ANIMAL_ID = b.ANIMAL_ID
WHERE b.ANIMAL_ID is null
ORDER BY a.DATETIME)
WHERE ROWNUM <= 3
1 개의 답변
임무성

WHERE 절 자리에 AND 들어가있네요

  • 김민규

    아 질문이 잘못되었네요 조인 걸때에 on 절에 b.ANIMAL_ID is null 코드를 작성하는 것과 where절에서 작성했을 때 결과 값이 왜 달라지는지 궁금해서 올렸습니다. ㅜ

    김민규―2021.12.01 16:25
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.