728x90
https://programmers.co.kr/learn/courses/30/lessons/59044
아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 보호 시작일 순으로 조회하는 SQL 문
☞ ANIMAL_INS 에는 존재하나, ANIMAL_OUTS 에는 존재하지 않는 데이터
MySQL
SELECT INS.NAME, INS.DATETIME
FROM ANIMAL_INS INS LEFT OUTER JOIN ANIMAL_OUTS OUTS
USING ( ANIMAL_ID )
WHERE OUTS.ANIMAL_ID IS NULL
ORDER BY INS.DATETIME
LIMIT 3;
Oracle DB
SELECT INS.NAME, INS.DATETIME
FROM ANIMAL_INS INS LEFT OUTER JOIN ANIMAL_OUTS OUTS
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
WHERE OUTS.ANIMAL_ID IS NULL
ORDER BY INS.DATETIME
FETCH FIRST 3 ROWS ONLY;
( Oracle DB 에서 USING 절을 사용하지 못 하는 이유는 USING 절에 사용된 칼럼의 앞에 접두사가 쓰일 수 없는데 WHERE 절에서 USING 절에 사용된 칼럼 중 한 테이블에만 조건을 적용시키려면 접두사가 필요하기 때문 )
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 프로그래머스 ( Programmers )' 카테고리의 다른 글
[프로그래머스(Programmers)][SQL] (Lv3) 헤비 유저가 소유한 장소 <2021 Dev-Matching: 웹 백엔드 개발자(상반기)> (0) | 2022.01.09 |
---|---|
[프로그래머스(Programmers)][SQL] JOIN (Lv4) 보호소에서 중성화한 동물 (0) | 2022.01.09 |
[프로그래머스(Programmers)][SQL] JOIN (Lv3) 없어진 기록 찾기 (0) | 2022.01.09 |
[프로그래머스(Programmers)][SQL] JOIN (Lv3) 있었는데요 없었습니다 (0) | 2022.01.09 |
[프로그래머스(Programmers)][SQL] GROUP BY (Lv4) 입양 시각 구하기 (2) (0) | 2022.01.09 |