728x90
방법 1. ROWNUM 사용하기
- ORACLE에는 MySQL처럼 Limit 가 없다. 대신 ROWNUM이 있는데, 첫번째 줄을 가져온다는 말인듯, 그래서 정렬을 DESC (내림차순) 으로 해줬다.
SELECT *
FROM (SELECT B.USER_ID, A.EMPLOYEENAME, B.DATE
FROM TableA A
RIGHT JOIN TableB B
ON A.NUMBER = B.NUMBER AND A.NUMBER2 = B.NUMBER2
WHERE A.CARNUMBER = '12가 1234' AND A.EMPLOYEENAME = '홍길동'
ORDER BY B.DATE DESC
) WHERE ROWNUM = 1;
방법 2. ROW_NUMBER() 사용하기
- ROW_NUMBER로 데이터에 번호를 붙여 가장 최근 데이터를 가져온다.
SELECT *
FROM (SELECT B.USER_ID, A.EMPLOYEENAME, B.DATE,
ROW_NUMBER() OVER (ORDER BY B.DATE DESC) AS rn
FROM TableA A
RIGHT JOIN TableB B
ON A.NUMBER = B.NUMBER AND A.NUMBER2 = B.NUMBER2
WHERE A.CARNUMBER = '12가 1234' AND A.EMPLOYEENAME = '홍길동'
) WHERE rn = 1;
728x90
'Oracle > Oracle 실무' 카테고리의 다른 글
[ DB | ORACLE ] DATE 형식이 맞는데 날짜 형식 지정에 불필요한 데이터가 포함되었다고 뜰 때 (0) | 2024.01.08 |
---|---|
[ DB | ORACLE ] 각 컬럼별로 존재하는 테이블과 콤마로 이어져있는 컬럼 테이블을 join하기 (0) | 2023.12.29 |
[ DB | ORACLE ] N시 ~ N시 사이의 데이터 구하기 (0) | 2023.12.28 |
[ DB | ORACLE ] N분 동안의 데이터 추출하기 (0) | 2023.12.27 |
[ DB | ORACLE ] WITH AS 가상 테이블 만들기 (0) | 2023.10.24 |