조회 개수에 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;
참고자료
'DB > SQL' 카테고리의 다른 글
[MySQL] MariaDB에서 MySQL로 변경한 후 sql_mode=only_full_group_by 에러가 발생한 경우 조치 방법 (0) | 2024.07.20 |
---|---|
[Oracle] 인덱스 조회 쿼리 (0) | 2024.07.01 |
[Oracle] 테이블 및 컬럼 코멘트 조회하기 (0) | 2024.03.11 |
[Oracle] 테이블 생성 쿼리 확인, show create table 안 됨 (0) | 2024.02.13 |
[MySQL] FROM DUAL 이란? (0) | 2023.10.09 |
[MySQL] JSON 필드 Null 체크하는 방법 (0) | 2023.09.27 |
[MySQL] 같지 않은 것을 조회할 때 사용할 수 있는 !=와 <> 연산자의 차이 (0) | 2023.09.23 |
[MySQL] DATETIME과 TIMESTAMP 자료형의 차이 (0) | 2023.07.04 |