강의로 돌아가기
k_w

그냥 JOIN과 LEFT JOIN의 차이,,

SELECT *
FROM(SELECT I.NAME, I.DATETIME
FROM ANIMALINS I JOIN ANIMALOUTS O ON I.ANIMALID = O.ANIMALID
WHERE O.ANIMAL_ID IS NULL
ORDER BY I.DATETIME)
WHERE ROWNUM < 4;

처음엔 위와 같이 그냥 JOIN을 했는데, 틀리고 LEFT JOIN으로 고치니 맞았습니다. 이전에 풀었던 다른 문제들에서는 그냥JOIN만 써도 맞았었는데, 왜 이 문제는 LEFT JOIN을 써야 맞는건가요?? 그냥 JOIN했을 때와 LEFT JOIN의 차이가 뭔가요..???

작성중인 코드―solution.sql
1
2
3
4
5
6
SELECT *
FROM(SELECT I.NAME, I.DATETIME 
     FROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID
     WHERE O.ANIMAL_ID IS NULL
     ORDER BY I.DATETIME)
WHERE ROWNUM < 4;
2 개의 답변
Jay EPH

JOIN = INNER JOIN
LEFT JOIN = LEFT OUTER JOIN

ybeeny8@gmail.com

ANIMALOUT 테이블에는 없어야하고 ANIMALINS 테이블에는 있어야하니까요

  • whrbals2135@gmail.com

    친절한 설명이네요 bb

    whrbals2135@gmail.com―2023.09.26 15:10
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.