[프로그래머스 SQL 코딩테스트] 오랜 기간 보호한 동물(1) OUTER JOIN
프로그래머스 오랜 기간 보호한 동물(1) 문제, 예시
JOIN 문법을 사용해서 두개의 테이블 중 한 테이블에만 있고, 다른 테이블에는 없는 컬럼을 검색할때는 OUTER JOIN 문법을 활용하면 된다.
OUTER 조인 문법
1991 ANSI JOIN 문법 | ORACLE JOIN 문법 |
SELECT ~ FROM 테이블1 테1 LEFT/RIGHT OUTER JOIN 테이블2 테2 ON 테1.컬럼 = 테2. 컬럼; |
SELECT ~ FROM 테이블1 테1= 테이블2 테2(+) '''ANSI 와정반대 방향 WHERE 테1.컬럼 = 테2. 컬럼 |
안시 조인과 오라클 아우터 조인의 방향이 정반대라 헷갈린다. 개인적으로 오라클 조인을 더 자주 쓰는데 (+)는 부족한 부분에 붙여준다고 기억하고 있다.
1999 ANSI 조인 문법
SELECT I.NAME, I.DATETIME
FROM ANIMAL_INS I LEFT OUTER JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE O.ANIMAL_ID IS NULL
ORDER BY I.DATETIME ASC FETCH FIRST 3 ROWS ONLY;
오라클 조인 문법
SELECT I.NAME, I.DATETIME
FROM ANIMAL_INS I , ANIMAL_OUTS O
WHERE I.ANIMAL_ID = O.ANIMAL_ID (+)
AND O.ANIMAL_ID IS NULL
ORDER BY I.DATETIME ASC FETCH FIRST 3 ROWS ONLY;
'SQL' 카테고리의 다른 글
HackerRank The Blunder 문제 풀이 (0) | 2024.08.14 |
---|---|
데이터를 활용한 KPI 수립 (0) | 2024.08.08 |
[HackerRank] Weather Observation Station 5: row_number, length (0) | 2024.05.28 |
SQL 코딩테스트 연습 사이트 모음(프로그래머스, 해커랭크, 솔프에스큐엘 외) (1) | 2023.10.22 |
[SQL 코딩테스트]프로그래머스 입양 시각 구하기(1)_GROUP BY, HH24, TO_NUMBER (0) | 2023.08.25 |