DB/SQL
[Oracle] Oracle에서 LIMIT에 해당하는 SQL 문법은?
bskyvision.com
2024. 1. 5. 22:16
조회 개수에 limit을 걸 때 사용하는 SQL 문법 중에 LIMIT이 있습니다. 예를 들어, MySQL에서 특정 테이블에서 10건의 데이터만 조회하고 싶다면 다음과 같이 SQL 쿼리문을 작성할 수 있습니다.
SELECT * FROM table LIMIT 10;
그런데 LIMIT는 Oracle에서는 사용할 수 없습니다. 대신 다음과 같이 쿼리를 작성해야 합니다.
SELECT * FROM table WHERE ROWNUM <= 10;
ROWNUM라는 예약어를 사용하면 됩니다.
그런데 WHERE 절에서 관리를 하기 때문에 ORDER BY로 특정 컬럼을 기준으로 정렬을 한 것에서 10개의 컬럼만 가지고 와야 하는 상황이라면 ORDER BY로 조회한 결과에 대해 ROWNUM로 필터링을 걸어줘야 합니다.
SELECT * FROM (SELECT * FROM table ORDER BY column1) WHERE ROWNUM <= 10;