SQL TOP, LIMIT, FETCH FIRST Clause
Last Updated :
23 Jul, 2025
SQL TOP, LIMIT, and FETCH FIRST clauses are used to retrieve a specific number of records from a table. These clauses are especially useful in large datasets with thousands of records.
Each of these SQL clauses performs a similar operation of limiting the results returned by a query, but different database management systems support them. In this article, we’ll explore the differences between these statements, provide syntax examples, and describe supporting databases.
SQL TOP, LIMIT, FETCH FIRST Clause
When working with large data sets in SQL, limiting the number of rows returned by a query can improve performance and make the data more manageable. The SQL SELECT TOP, LIMIT, and FETCH FIRST statements accomplish this purpose by limiting the result set to a specified number of row groups.
- SQL TOP Clause is used in SQL Server and Sybase to limit the number of records returned.
- SQL LIMIT Clause is utilized in MySQL, PostgreSQL, and SQLite.
- SQL FETCH FIRST Clause is part of the SQL standard and is supported by Oracle, DB2, PostgreSQL, and SQL Server (as part of
OFFSET-FETCH
).
Depending on the database management system (DBMS) being used, you can utilize the respective clause to efficiently manage data retrieval. This article will provide examples and guidance on how to use the SQL TOP
, LIMIT
, and FETCH FIRST
clauses in different SQL environments.
SQL SELECT TOP Clause
The SELECT TOP clause in SQL only returns the specified number of rows from the table. It is valuable on enormous tables with a large number of records. Returning countless records can affect execution.
Note: Not all database systems support the SELECT TOP clause.
The SQL TOP keyword is utilized with these database systems:
Syntax:
SELECT column1, column2, ... TOP count
FROM table_name
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]];
Here,
- column1, column2 = names of columns
- count = number of records to be fetched
- WHERE conditions: Optional. Filters the data based on conditions.
- ORDER BY expression: Optional. Sorts the result set in ascending or descending order.
SQL SELECT TOP Clause Example
Let’s understand this using an example of SQL SELECT TOP statement.
We will use the following table for this example:
Demo SQL TableWrite the following SQL queries to create this table
MySQL
CREATE TABLE Employee (
EmpId INTEGER PRIMARY KEY,
EmpName VARCHAR(225) NOT NULL,
Email VARCHAR(225) NOT NULL,
Address VARCHAR(225) NOT NULL,
Age INT NOT NULL,
Salary MONEY NOT NULL
);
INSERT INTO Employee (EmpId, EmpName, Email, Address, Age, Salary)
VALUES (1, 'Shubham', '[email protected]', 'India', 23, 50000.00),
(2, 'Aman', '[email protected]', 'Australia', 21, 45000.00),
(3, 'Naveen', '[email protected]', 'Sri Lanka', 24, 55000.00),
(4, 'Aditya', '[email protected]', 'Austria', 21, 42000.00),
(5, 'Nishant Saluja', '[email protected]', 'Spain', 22, 48000.00);
Example 1: Using SELECT TOP Clause in SQL
In this example, we will fetch the top 4 rows from the table.
Query:
SELECT TOP 4*
FROM Employee;
Output:
SELECT TOP Clause OutputExample 2: SQL SELECT TOP with ORDER BY Clause
In this example, we will use the SQL SELECT TOP clause with ORDER BY clause to sort the data in the results set.
Query
SELECT TOP 4*
FROM Employee
ORDER BY Salary DESC;
Output:
SQL SELECT TOP with ORDER BY Clause Example OutputExample 3: SQL SELECT TOP Clause with WHERE Clause Example
In this example, we will use the SELECT TOP clause with WHERE clause to filter data on specific conditions
Query:
SELECT TOP 2*
FROM Employee
WHERE Salary>2000
ORDER BY Salary;
Output:
The above query will select all the employees according to the given condition (i.e. all Employees except the employee whose salary is less than 2000 will be selected) then the result will be sorted by Salary in ascending order (The ORDER BY keyword sorts the records in ascending order by default). Finally, the first 2 rows would be returned by the above query.
Example 4: SQL SELECT TOP PERCENT Clause Example
The PERCENT keyword is utilized to select the primary and percent of all-out rows. For example,
Query:
SELECT TOP 50 PERCENT*
FROM Employee;
Output:
SQL SELECT TOP PERCENT Clause Example OutputHere, the above query will select the first 50% of employee records out of the total number of records(i.e., the first 3 rows will be returned).
Example 5: SQL TOP PERCENT with WHERE Clause Example
We can also include some situations using the TOP PERCENT with the WHERE clause in the above query.
Query:
SELECT TOP 50 PERCENT*
FROM Employee
WHERE Salary<50000;
Output:
SQL TOP PERCENT with WHERE Clause Example OutputThe above query will select the Top 50% of the records out of the total number of records from the table according to the given condition such that it returns only the Top 50% of the records with the employee whose salary is less than 5000 (i.e, 2 rows will be returned)
SQL LIMIT Clause
SQL LIMIT Clause limits the number of results returned in the results set. The LIMIT Clause is utilized with the accompanying database systems:
SQL LIMIT Clause Example
Since the LIMIT Clause is not supported in SQL Server we need to create a table in MySQL/PostgreSQL/SQLite. We will use the LIMIT clause in MySQL
CREATE TABLE Employee (
EmpId INTEGER PRIMARY KEY,
EmpName VARCHAR(225) NOT NULL,
Email VARCHAR(225) NOT NULL,
Address VARCHAR(225) NOT NULL,
Age INT NOT NULL,
Salary MONEY NOT NULL
);
INSERT INTO Employee (EmpId, EmpName, Email, Address, Age, Salary)
VALUES (1, 'Shubham', '[email protected]', 'India', 23, 50000.00),
(2, 'Aman', '[email protected]', 'Australia', 21, 45000.00),
(3, 'Naveen', '[email protected]', 'Sri Lanka', 24, 55000.00),
(4, 'Aditya', '[email protected]', 'Austria', 21, 42000.00),
(5, 'Nishant Saluja', '[email protected]', 'Spain', 22, 48000.00);
SELECT * FROM Employee ;
Output:
Demo Table CreatedExample 1: SELECT LIMIT Clause in SQL
In this example, we will use the SELECT LIMIT clause to display only 2 results.
Query:
SELECT * FROM Employee
WHERE Salary = 45000
LIMIT 2;
Output:
LIMIT Clause in SQL Example OuptutFrom the above query, the LIMIT operator limits the number of records to be returned. Here, it returns the first 2 rows from the table.
Example 2: SQL LIMIT with WHERE Clause
The accompanying query selects the initial 4 records from the Employee table with a given condition.
Query:
SELECT * FROM Employee
WHERE Salary = 45000
LIMIT 2;
Output:
SQL LIMIT with WHERE Clause Example OutputThe above query will select all the employees according to the imposed condition (i.e. it selects the limited 2 records from the table where salary is 2000). Finally, the first 2 rows would be returned by the above query.
Example 3: SQL LIMIT With OFFSET Clause
The OFFSET keyword is utilized to indicate beginning rows from where to select rows. For instance,
Query:
SELECT * FROM Employee
LIMIT 2 OFFSET 2;
Output:
SQL LIMIT With OFFSET Clause Example OutputHere, the above query selects 2 rows from the beginning of the third row (i.e., OFFSET 2 means, the initial 2 rows are excluded or avoided).
SQL FETCH FIRST Clause
SQL FETCH FIRST clause fetches the first given number of rows from the table.
It is supported in database systems like:
Syntax:
The syntax to use the FETCH FIRST clause in SQL is:
SELECT columns FROM table WHERE condition FETCH FIRST n ROWS ONLY;
Here,
- n: desired number of rows
Example 1: SQL FETCH FIRST Clause
We will use the same "Employee" table as used in previous examples.
FETCH FIRST clause in SQL Example
In this example, we will fetch the first 3 rows from the table.
Query:
SELECT * FROM Employee FETCH FIRST 3 ROWS ONLY;
Output:
FETCH FIRST Clause in SQL Example Output
Here, the above query will fetch the first 3 rows only from the table. We can also include some situations using the FETCH FIRST PERCENT and WHERE Clause in the above query.
Example 2: SQL FETCH FIRST PERCENT
In this example, we will fetch first 50% of the data from the table
Query:
SELECT
*
FROM
Employee
FETCH FIRST
(
SELECT CEIL
(COUNT(*) / 2)
FROM
Employee)
ROWS ONLY
;
Output:
SQL FETCH FIRST PERCENT Example Output
Here, the above query fetches the first 50% of the total number of rows (i.e., 2 rows) from the table.
Example 3: SQL FETCH FIRST with WHERE Clause
The "FETCH FIRST" syntax is not supported in MySQL. The correct syntax for limiting the number of rows in MySQL is by using the LIMIT clause.
Query:
SELECT *
FROM Employee
WHERE Salary = 45000
FETCH FIRST 1 ROW ONLY;
Output:
SQL FETCH FIRST with WHERE CLAUSE Example OutputHere, the above query fetches the first 1 row from the table, with the condition that the salary is 45000 (i.e., it returns 1 row only).
Conclusion
SQL TOP, LIMIT and FETCH FIRST clause are used for a same purpose of limiting the data returned in results set. All three of these queries are not supported by all SQL DBMS. Each of them is supported by only some of the DBMS and depending on the DBMS you use, the query can differ.
We have explained all TOP, LIMIT and FETCH FIRST clause in SQL with examples, and also mentioned their supported DBMS to avoid confusion. Users should check if the clause is supported by their DBMS before using them.
SQL - TOP, LIMIT, FETCH FIRST Clause
Similar Reads
SQL Tutorial Structured Query Language (SQL) is the standard language used to interact with relational databases. Mainly used to manage data. Whether you want to create, delete, update or read data, SQL provides the structure and commands to perform these operations. Widely supported across various database syst
8 min read
Basics
What is SQL?Structured Query Language (SQL) is the standard language used to interact with relational databases. It allows users to store, retrieve, update, and manage data efficiently through simple commands. Known for its user-friendly syntax and powerful capabilities, SQL is widely used across industries and
8 min read
SQL Data TypesSQL data types define the kind of data a column can store, dictating how the database manages and interacts with the data. Each data type in SQL specifies a set of allowed values, as well as the operations that can be performed on the values.SQL data types are broadly categorized into several groups
4 min read
SQL OperatorsSQL operators are symbols or keywords used to perform operations on data in SQL queries. These operations can include mathematical calculations, data comparisons, logical manipulations, other data-processing tasks. Operators help in filtering, calculating, and updating data in databases, making them
5 min read
SQL Commands | DDL, DQL, DML, DCL and TCL CommandsSQL commands are the fundamental building blocks for communicating with a database management system (DBMS). It is used to interact with the database with some operations. It is also used to perform specific tasks, functions, and queries of data. SQL can perform various tasks like creating a table,
7 min read
SQL Database OperationsSQL databases or relational databases are widely used for storing, managing and organizing structured data in a tabular format. These databases store data in tables consisting of rows and columns. SQL is the standard programming language used to interact with these databases. It enables users to cre
3 min read
SQL CREATE TABLEIn SQL, creating a table is one of the most essential tasks for structuring your database. The CREATE TABLE statement defines the structure of the database table, specifying column names, data types, and constraints such as PRIMARY KEY, NOT NULL, and CHECK. Mastering this statement is fundamental to
5 min read
Queries & Operations
SQL SELECT QueryThe SQL SELECT query is one of the most frequently used commands to retrieve data from a database. It allows users to access and extract specific records based on defined conditions, making it an essential tool for data management and analysis. In this article, we will learn about SQL SELECT stateme
4 min read
SQL INSERT INTO StatementThe SQL INSERT INTO statement is one of the most essential commands for adding new data into a database table. Whether you are working with customer records, product details or user information, understanding and mastering this command is important for effective database management. How SQL INSERT I
6 min read
SQL UPDATE StatementIn SQL, the UPDATE statement is used to modify existing records in a table. Whether you are updating a single record or multiple records at once, SQL provides the necessary functionality to make these changes. Whether you are working with a small dataset or handling large-scale databases, the UPDATE
6 min read
SQL DELETE StatementThe SQL DELETE statement is an essential command in SQL used to remove one or more rows from a database table. Unlike the DROP statement, which removes the entire table, the DELETE statement removes data (rows) from the table retaining only the table structure, constraints, and schema. Whether you n
4 min read
SQL | WHERE ClauseThe SQL WHERE clause allows filtering of records in queries. Whether you are retrieving data, updating records, or deleting entries from a database, the WHERE clause plays an important role in defining which rows will be affected by the query. Without WHERE clause, SQL queries would return all rows
4 min read
SQL | AliasesIn SQL, aliases are temporary names assigned to columns or tables for the duration of a query. They make the query more readable, especially when dealing with complex queries or large datasets. Aliases help simplify long column names, improve query clarity, and are particularly useful in queries inv
4 min read
SQL Joins & Functions
SQL Joins (Inner, Left, Right and Full Join)SQL joins are fundamental tools for combining data from multiple tables in relational databases. Joins allow efficient data retrieval, which is essential for generating meaningful observations and solving complex business queries. Understanding SQL join types, such as INNER JOIN, LEFT JOIN, RIGHT JO
4 min read
SQL CROSS JOINIn SQL, the CROSS JOIN is a unique join operation that returns the Cartesian product of two or more tables. This means it matches each row from the left table with every row from the right table, resulting in a combination of all possible pairs of records. In this article, we will learn the CROSS JO
3 min read
SQL | Date Functions (Set-1)SQL Date Functions are essential for managing and manipulating date and time values in SQL databases. They provide tools to perform operations such as calculating date differences, retrieving current dates and times and formatting dates. From tracking sales trends to calculating project deadlines, w
5 min read
SQL | String functionsSQL String Functions are powerful tools that allow us to manipulate, format, and extract specific parts of text data in our database. These functions are essential for tasks like cleaning up data, comparing strings, and combining text fields. Whether we're working with names, addresses, or any form
7 min read
Data Constraints & Aggregate Functions
SQL NOT NULL ConstraintIn SQL, constraints are used to enforce rules on data, ensuring the accuracy, consistency, and integrity of the data stored in a database. One of the most commonly used constraints is the NOT NULL constraint, which ensures that a column cannot have NULL values. This is important for maintaining data
3 min read
SQL PRIMARY KEY ConstraintThe PRIMARY KEY constraint in SQL is one of the most important constraints used to ensure data integrity in a database table. A primary key uniquely identifies each record in a table, preventing duplicate or NULL values in the specified column(s). Understanding how to properly implement and use the
5 min read
SQL Count() FunctionIn the world of SQL, data analysis often requires us to get counts of rows or unique values. The COUNT() function is a powerful tool that helps us perform this task. Whether we are counting all rows in a table, counting rows based on a specific condition, or even counting unique values, the COUNT()
7 min read
SQL SUM() FunctionThe SUM() function in SQL is one of the most commonly used aggregate functions. It allows us to calculate the total sum of a numeric column, making it essential for reporting and data analysis tasks. Whether we're working with sales data, financial figures, or any other numeric information, the SUM(
5 min read
SQL MAX() FunctionThe MAX() function in SQL is a powerful aggregate function used to retrieve the maximum (highest) value from a specified column in a table. It is commonly employed for analyzing data to identify the largest numeric value, the latest date, or other maximum values in various datasets. The MAX() functi
4 min read
AVG() Function in SQLSQL is an RDBMS system in which SQL functions become very essential to provide us with primary data insights. One of the most important functions is called AVG() and is particularly useful for the calculation of averages within datasets. In this, we will learn about the AVG() function, and its synta
4 min read
Advanced SQL Topics
SQL | SubqueryIn SQL, a subquery can be defined as a query embedded within another query. It is often used in the WHERE, HAVING, or FROM clauses of a statement. Subqueries are commonly used with SELECT, UPDATE, INSERT, and DELETE statements to achieve complex filtering and data manipulation. They are an essential
5 min read
Window Functions in SQLSQL window functions are essential for advanced data analysis and database management. It is a type of function that allows us to perform calculations across a specific set of rows related to the current row. These calculations happen within a defined window of data and they are particularly useful
6 min read
SQL Stored ProceduresStored procedures are precompiled SQL statements that are stored in the database and can be executed as a single unit. SQL Stored Procedures are a powerful feature in database management systems (DBMS) that allow developers to encapsulate SQL code and business logic. When executed, they can accept i
7 min read
SQL TriggersA trigger is a stored procedure in adatabase that automatically invokes whenever a special event in the database occurs. By using SQL triggers, developers can automate tasks, ensure data consistency, and keep accurate records of database activities. For example, a trigger can be invoked when a row i
7 min read
SQL Performance TuningSQL performance tuning is an essential aspect of database management that helps improve the efficiency of SQL queries and ensures that database systems run smoothly. Properly tuned queries execute faster, reducing response times and minimizing the load on the serverIn this article, we'll discuss var
8 min read
SQL TRANSACTIONSSQL transactions are essential for ensuring data integrity and consistency in relational databases. Transactions allow for a group of SQL operations to be executed as a single unit, ensuring that either all the operations succeed or none of them do. Transactions allow us to group SQL operations into
8 min read
Database Design & Security
Introduction of ER ModelThe Entity-Relationship Model (ER Model) is a conceptual model for designing a databases. This model represents the logical structure of a database, including entities, their attributes and relationships between them. Entity: An objects that is stored as data such as Student, Course or Company.Attri
10 min read
Introduction to Database NormalizationNormalization is an important process in database design that helps improve the database's efficiency, consistency, and accuracy. It makes it easier to manage and maintain the data and ensures that the database is adaptable to changing business needs.Database normalization is the process of organizi
6 min read
SQL InjectionSQL Injection is a security flaw in web applications where attackers insert harmful SQL code through user inputs. This can allow them to access sensitive data, change database contents or even take control of the system. It's important to know about SQL Injection to keep web applications secure.In t
7 min read
SQL Data EncryptionIn todayâs digital era, data security is more critical than ever, especially for organizations storing the personal details of their customers in their database. SQL Data Encryption aims to safeguard unauthorized access to data, ensuring that even if a breach occurs, the information remains unreadab
5 min read
SQL BackupIn SQL Server, a backup, or data backup is a copy of computer data that is created and stored in a different location so that it can be used to recover the original in the event of a data loss. To create a full database backup, the below methods could be used : 1. Using the SQL Server Management Stu
4 min read
What is Object-Relational Mapping (ORM) in DBMS?Object-relational mapping (ORM) is a key concept in the field of Database Management Systems (DBMS), addressing the bridge between the object-oriented programming approach and relational databases. ORM is critical in data interaction simplification, code optimization, and smooth blending of applicat
7 min read