대충이라도 하자

프로그래머스 없어진 기록 찾기 본문

꼬꼬마 개발자 노트/SQL

프로그래머스 없어진 기록 찾기

Sueeeeee
반응형

OUTER JOIN 사용

1. LEFT OUTER JOIN과 RIGHT OUTER JOIN 비교

표 2개를 JOIN 한다고 했을 때,

LEFT OUTER JOIN은 왼쪽에 있는 표에서 오른쪽 표를 제하고 남은 것

RIGHT OUTER JOIN은 오른쪽에 있는 표에서 왼쪽 표를 제하고 남은 것

그렇기 때문에, JOIN할 때의 위치만 달라질 뿐, 본질은 동일하다.

1. 첫 번째 답

SELECT OUTS.ANIMAL_ID, OUTS.NAME

FROM ANIMAL_OUTS OUTS

LEFT OUTER JOIN

ANIMAL_INS INS

ON OUTS.ANIMAL_ID = INS.ANIMAL_ID

WHERE INS.ANIMAL_ID is NULL

ORDER BY OUTS.ANIMAL_ID;

 

2. 두 번째 답

SELECT OUTS.ANIMAL_ID, OUTS.NAME
        FROM ANIMAL_INS as INS RIGHT OUTER JOIN ANIMAL_OUTS as OUTS
        ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
        WHERE INS.ANIMAL_ID IS NULL
        ORDER BY ANIMAL_ID;

둘 다 가능하다.

첫 번째는 OUTS와 INS

두 번째는 INS와 OUTS

조인 순서를 변경한 것 뿐.

 

 

반응형
Comments