SQL, limit 사용법 (select 열 제한)

특정 데이터베이스의 구성을 보고 싶을 때 select * from tablename 형태로 조회를 하곤 합니다. 그런데 이 구문을 함부로 써서는 안 되는 경우가 있습니다. 조회하는 테이블에 데이터가 너무 많은 경우입니다. 현업에선 하나의 테이블에 10만행이 쌓여있는 건 예사고 100만행, 1000만행, 1억행 이상까지 쌓여있는 것도 종종 봅니다. 이렇게 많은 데이터를 와일드카드(*)로 한번에 조회하면 부하가 심해져 전체 시스템에 악영향을 줄 수 있습니다.

 

이럴 때 유용하게 사용할 수 있는 것이 limit입니다.

limit 사용법

SQL에서 limit은 쿼리 결과로 반환되는 행의 수를 제한합니다. 원하는 행만큼만 출력할 수 있습니다. 아래와 같이 사용합니다.

SELECT column_name FROM table_name LIMIT number;

 

예를 들어 employees 테이블에서 10명의 직원 정보만 조회하면 아래와 같이 실행합니다.

SELECT * FROM employees LIMIT 10;

 

products 테이블에서 상위 5개의 제품 정보를 조회하려면 아래와 같이 실행합니다.

SELECT * FROM products ORDER BY price DESC LIMIT 5;

 

customers 테이블에서 6번째부터 10번째 고객 정보를 조회하려면 아래와 같이 실행합니다. 이경우엔 컴마(,)를 함께 사용합니다.

SELECT * FROM customers LIMIT 5, 5;
  • 5, 5 : 6번 ~ 10번
  • 5, 10 : 6번 ~ 15번
  • 5, 15 : 6번 ~ 20번

 

특정 기준으로 결과 출력하기

기본적으로 행이 출력되는 순서를 정하는 기준은 테이블이 생성된 방법에 따라 다릅니다. 원한다면 ORDER BY 절을 사용해서 특정 컬럼에 대해 limit을 사용해 행을 가져올 수 있습니다.

 

예를 들어, employees 테이블에서 급여(salary)가 높은 순서로 상위 10명의 직원 정보를 가져오려면 다음과 같이 작성할 수 있습니다.

SELECT * FROM employees ORDER BY salary DESC LIMIT 10;
반응형

댓글

Designed by JB FACTORY