SQL, limit 사용법 (select 열 제한)
- Database
- 2023. 4. 26.
특정 데이터베이스의 구성을 보고 싶을 때 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;
반응형
'Database' 카테고리의 다른 글
RDB, 기본키 / 외래키란? 필요한 이유 (1) | 2023.04.27 |
---|---|
SQL, where 절 연산자 및 조건 정리 (0) | 2023.04.26 |
SQL, DISTINCT 사용법 (중복 값 제거) (0) | 2023.04.25 |
리눅스 DB 자동 삭제 스크립트 만들기 (0) | 2023.04.22 |
MYSQL, Client does not support authentication protocol requested by server 에러 해결 (0) | 2023.04.17 |