다행스럽게도 SQL에서는 주어진 결과 집합 내에서 반환되는 행 수를 제어할 수 있는 LIMIT 절에 액세스할 수 있습니다. 이 기능은 대규모 데이터 세트를 처리할 때 실제로 전체 행이 아니라 일부 행이 필요할 때 매우 유용합니다. 이는 데이터 또는 프리젠테이션의 레이아웃을 가져오는 것일 수 있습니다.
이 자습서에서는 SQL 데이터베이스에서 LIMIT 절을 사용하고 작업하여 데이터베이스에서 검색하려는 행 수를 지정하는 방법을 알아봅니다.
요구사항:
SQL에서 LIMIT 절의 작동 및 사용법에 대해 자세히 알아보기 전에 이 튜토리얼의 몇 가지 기본 요구 사항에 대해 논의하겠습니다.
이 게시물을 진행하려면 다음이 필요합니다.
- MySQL 8.0 이상은 MySQL 5에서 작동합니다.
- Sakila 샘플 데이터베이스에 대한 액세스
- 대상 데이터베이스의 행을 쿼리할 수 있는 권한(읽기 액세스)
주어진 요구 사항이 충족되면 이 튜토리얼을 진행할 수 있습니다.
SQL 제한
SQL에서는 LIMIT 절을 사용하여 특정 SQL 쿼리에서 반환되는 행 수를 제한할 수 있습니다. 예를 들어, select 문에서는 1000개 이상의 레코드가 포함될 수 있는 테이블의 모든 행을 반환하는 대신 처음 10개 행만 보도록 선택할 수 있습니다.
다음은 SQL에서 LIMIT 절의 기본 구문을 보여줍니다.
col1, col2, ...을 선택하세요.
tbl_name에서
LIMIT개 num_rows;
이 예에서는 SELECT 문과 함께 LIMIT 절을 사용합니다.
주어진 구문에서 'tbl_name'은 데이터를 검색하려는 테이블의 이름을 나타냅니다.
'num_rows'를 사용하면 결과 집합에 반환되는 최대 행 수를 지정할 수 있습니다.
예 1: 행 수 제한
LIMIT 절의 가장 일반적이고 기본적인 역할은 결과 집합에 포함되는 최대 행 수를 설정하는 것입니다.
Sakila 샘플 데이터베이스의 'film' 테이블을 사용한다고 가정해 보겠습니다. 그러나 연관된 행을 모두 가져오고 싶지 않으므로 다음 예제 절에 표시된 대로 처음 10개 행을 선택할 수 있습니다.
선택 * 영화에서한계 10 ;
주어진 쿼리를 실행하면 다음과 같은 출력을 얻어야 합니다.
이 예에서는 LIMIT 절을 사용하여 결과 집합을 10개 행으로 제한합니다. 결과에서 처음 10개 행을 가져옵니다.
예 2: OFFSET 값 사용
경우에 따라 특정 행 수를 건너뛰거나 생략할 수도 있습니다. 예를 들어, 5개의 요소만 검색하고 싶지만 위치 20에서 시작한다고 가정합니다. OFFSET 매개변수를 사용하면 시작하려는 위치를 LIMIT 절에 알릴 수 있습니다.
이는 다음 예와 같이 대규모 데이터세트에서 페이지 매김을 구현해야 할 때 특히 유용합니다.
영화에서 영화_ID, 제목, 개봉_연도, `길이`를 선택하세요.한계 10 오프셋 이십 ;;
그러면 다음과 같이 위치 20부터 시작하여 10개의 행이 반환되어야 합니다.
주어진 결과에서 볼 수 있듯이 시작 'film_id'는 위치 21에서 시작하여 위치 30으로 진행됩니다.
예 3: Order BY 절 사용
LIMIT 절의 또 다른 일반적인 용도는 ORDER BY 절과 결합하는 것입니다. 이를 통해 특정 순서에 따라 특정 수의 행을 검색할 수 있습니다. 여기에는 기본 정렬(오름차순 또는 내림차순) 등이 포함될 수 있습니다.
예를 들어, 'film' 테이블에서 가장 긴 영화 상위 10개를 검색한다고 가정해 보겠습니다. ORDER BY 절을 사용하여 길이를 기준으로 값을 정렬한 다음 처음 10개 행을 제한할 수 있습니다.
예는 다음과 같습니다.
SELECT f.film_id, f.제목, f.길이프롬필름F
주문하다 길이별 DESC
한계 10 ;
이 경우 ORDER BY 절을 사용하여 행을 내림차순(최고에서 최저)으로 정렬한 다음 LIMIT 절을 사용하여 처음 10개 행을 가져옵니다.
결과 세트는 다음과 같습니다.
거기 있어요!
결론
이 게시물에서는 SQL 데이터베이스에서 LIMIT 절을 사용하는 기본 기능과 고급 기능을 배웠습니다.