EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials SQL Tutorial SQL Select Top
 

SQL Select Top

Payal Udhani
Article byPayal Udhani
EDUCBA
Reviewed byRavi Rathore

Updated March 10, 2023

SQL Select Top

 

 

Introduction to SQL Select Top

We can retrieve the resultset from the queries by specifying the number of the records that can be maximumly retrieved from the query using the top statement in SQL. When dealing with databases that are huge and involve queries on the tables that involve a huge set of records and the resultant resultset also includes too many records such that it becomes heavy for the system to handle and can even result to the system hanging for a long duration or sometimes crash, the limited number of the records can be retrieved from the query which reduces the loads on the system.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

We can specify the limit using the top statement in SQL. Though, many DBMS does not support the usage of top statements such as MySQL and oracle. They provide an alternative way like the LIMIT clause and ROWNUM in MySQL and Oracle respectively. In this article, we will study the general syntax of the TOP clause in SQL and see its usages and implementation with the help of certain examples.

Syntax

The syntax of the select top is as shown below –

SELECT TOP (numeric_expression) [PERCENT]
[WITH TIES]
FROM
name_of_table
ORDER BY
name_of_column;

The numeric expression can be the number of the rows to be retrieved in the final resultset after the execution of the query statement. The use of the PERCENT keyword is optional and when specified the numeric expression is considered as the float value that specifies the percentage of the result set that should be retrieved instead of the row count. When PERCENT is not used the numeric expression is the BIGINT value that specifies the number of records to be retrieved from the select query. The name_of the table is the table name from which the records are to be retrieved while the name of the column is the column name based on which the result should be sorted.

The use of the ORDER BY clause in the select top is optional. However, it is a good practice to use the TOP statement along with the order by clause as it will make the query retrieve the ordered resultset containing the limited amount of records that occur first in the order sequence.

The WITH TIES clause is also optional which mentions that all the related records of the ordered result set should also be retrieved. The use of WITH TIES can increase the retrieved result set count than specified by the numeric expression. For example, if we are trying to retrieve the most scored person in the class and you are making the use of TOP 1 then if you are not using WITH LIES the result set will give only one record even if the same scored persons exist that have achieved the highest scores. And when using TOP1 along with the “WITH LIES” clause, it will result in retrieval of all the records having the highest scores in the class.

Examples of SQL Select Top

Let us consider one existing table named educba_articles in our database named educba. The contents and the structure of the table can be retrieved by executing the following query –

SELECT * FROM `educba_articles`;

The execution of the above query statement gives an output which is as shown below.

SQL Select Top-1.1

Now, we can observe that the table educba_articles consists of 20 records in it. We want to retrieve only the first 10 records that have the maximum amount of rate assigned to them. For this, we can make the use of the select top clause in SQL using the following query statement which retrieves the name, author, and the rate of the article.

SELECT TOP 10
NAME,
author,
rate
FROM
educba.`educba_articles`
ORDER BY rate DESC ;

The execution of the above query statement gives an output which is as shown below.

SQL Select Top-1.2

Use of WITH TIES clause

Suppose that we have the top most six records of the articles listed according to their rates and we have to find the highest-rated articles out of them. If we simply use the top statement as shown in the above query statement, we will use the following query.

SELECT TOP 6
NAME,
author,
rate
FROM
educba.`educba_articles`
ORDER BY rate DESC ;

The execution of the above query statement gives an output which is as shown below.

Output-1.3

But, we can observe that two more articles are rated the same as the rates of the retrieved records integer and wherein the table educba_article. As we want to retrieve the highest-paid records that lie in the top six positions they should also be retrieved as they also have the same rate assigned to it. This problem can be resolved simply by using the WITH TIES in the same query statement as shown below.

SELECT TOP 6 WITH TIES
NAME,
author,
rate
FROM
educba.`educba_articles`
ORDER BY rate DESC ;

The execution of the above query statement gives an output which is as shown below –

Output-1.4

Here, NOT NULL and where named articles are retrieved because of the usage of WITH TIES in the top clause in our select query statement.

The use of PERCENT

Suppose that we want to retrieve the only 1/4th of the resultset of the query statement. For such cases, we can make the use of the PERCENT clause. The 1/4th amount of anything translates to 25% off that thing. Hence, by mentioning the 25 PERCENT in the top clause we can retrieve 1/4th of records of the original query resultset. As our table contains 20 records in it. The 25 percent of the records of 20 records will be 5 records. Hence the use of the following query statement should result in the first five records being retrieved that are ordered based on their rates in a descending manner.

SELECT TOP 25 PERCENT
NAME,
author,
rate
FROM
educba.`educba_articles`
ORDER BY rate DESC ;

The execution of the above query statement gives an output which is as expected and shown below.

Output-1.5

Conclusion

The use of SELECT TOP statement in SQL helps in limiting the number of records that will be retrieved from the query statement in SQL. Many DBMS such as MySQL and oracle does not support its usage but provide alternatives like LIMIT and ROWNUM which can be used for limiting the resultset.

Recommended Articles

We hope that this EDUCBA information on “SQL Select Top” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

  1. MySQL CEIL
  2. SQL Virtual Table
  3. MySQL Sync
  4. SQL Pattern Matching

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW