Oracle 한도 행

Oracle Hando Haeng



행 제한은 대부분의 관계형 데이터베이스 엔진에서 구현되는 강력하고 일반적인 기능입니다. 행 제한은 SQL SELECT 문이 반환할 수 있는 행 수를 나타냅니다.

대부분의 경우 최대 제한 수는 데이터베이스 엔진에 의해 설정됩니다. 그러나 다양한 기술을 사용하여 쿼리에서 이 값을 재정의할 수 있습니다. SQL SELECT 문에서 반환되는 행 수를 변경하기 전에 시스템에서 사용 가능한 리소스를 고려하는 것이 좋습니다.







행 제한은 여러 가지 이유로 중요한 기능입니다. 첫째, 쿼리가 과도한 양의 데이터를 반환하여 귀중한 리소스를 소모하고 일부 성능 문제를 일으킬 수 있는 것을 방지하는 데 도움이 됩니다.



둘째, 공격자가 데이터베이스에서 추출할 수 있는 데이터의 양을 제한하여 SQL 주입 공격을 방지할 수 있습니다.



이 게시물에서는 주어진 Oracle 쿼리에서 반환되는 레코드 수를 제한하기 위한 짧은 형식에 대해 설명합니다. MySQL, PostgreSQL 등과 같은 다른 데이터베이스에서 볼 수 있듯이 Oracle 데이터베이스에는 LIMIT 절이 없다는 것을 기억하십시오.





오라클 ROWNUM

limit-like 절을 구현하기 위해 SQL에서 rownum 함수를 사용합니다. 이 함수는 주어진 결과의 행 수를 반환합니다.

사용 예:

다음 이미지와 같이 데이터베이스 정보를 포함하는 테이블이 있다고 가정합니다.



문제:

테이블의 처음 5개 행에만 관심이 있다고 가정합니다.

해결책:

다음 스니펫과 같이 쿼리를 사용할 수 있습니다.

ROWNUM <= 5인 데이터베이스에서 *를 선택하십시오.

이전 쿼리에서 반환된 행 수가 5보다 작거나 같은지 확인하는 조건문을 정의했습니다. 이렇게 하면 쿼리의 레코드 수가 5에서 중지됩니다.

예제 출력은 다음과 같습니다.

결론

Oracle ROWNUM 함수는 Oracle SQL 쿼리에서 반환되는 행 수를 제한하는 강력한 도구입니다. 쿼리에서 반환되는 행 수를 제어하고 가장 관련성이 높은 데이터만 반환되도록 하는 다양한 방법으로 사용할 수 있습니다.