Skip to main content
Documents
Clauses StatementsKeywordsExpressionsFunctionsIndexesPerformance Optimization

MySQL FETCH Clauses

The `FETCH` clause in MySQL is used to retrieve a specific number of rows returned by a query, particularly in combination with the `OFFSET` clause. It is often utilized for pagination when displaying large datasets in smaller segments.

Usage

In MySQL, the `LIMIT` clause is used to limit the number of rows returned by a query, optionally combined with `OFFSET` for pagination. Unlike some other SQL dialects, MySQL does not use a `FETCH` clause.

SELECT column1, column2, ...
FROM table_name
[ORDER BY column1, column2, ...]
LIMIT { number | ALL } OFFSET start;

In this syntax, `LIMIT number` specifies the number of rows to return after the optional `OFFSET`.

Examples

1. Basic LIMIT Usage

SELECT * 
FROM products
LIMIT 10;

This example retrieves the first 10 rows from the `products` table.

2. LIMIT with OFFSET

SELECT * 
FROM orders
ORDER BY order_date
LIMIT 5 OFFSET 10;

Here, the query retrieves 5 rows starting from the 11th row (offset of 10) in the `orders` table, ordered by `order_date`.

3. Pagination with LIMIT and OFFSET

SELECT first_name, last_name
FROM employees
ORDER BY employee_id
LIMIT 10 OFFSET 20;

This query is useful for pagination, retrieving 10 rows after skipping the first 20 employees, ordered by `employee_id`.

Tips and Best Practices

  • Combine with ORDER BY. Always use `ORDER BY` to ensure consistent results when using `LIMIT` and `OFFSET`.
  • Use for pagination. Leverage `LIMIT` with `OFFSET` for implementing efficient pagination in applications.
  • Test performance impact. Fetching large numbers of rows can impact performance; test different `LIMIT` values to optimize based on application needs.
  • Understand SQL dialects. Be aware of differences between MySQL's `LIMIT` clause and similar clauses in other SQL dialects like SQL Server or PostgreSQL to avoid confusion.

SQL Upskilling for Beginners

Gain the SQL skills to interact with and query your data.
Start Learning for Free