SQL TOP 子句

عبارت TOP

عبارت TOP برای تعیین تعداد رکوردهایی که باید بازگردانده شوند استفاده می‌شود.

برای جدول‌های بزرگ با هزاران رکورد، عبارت TOP بسیار مفید است.

نکته:تمام سیستم‌های پایگاه داده پشتیبانی از عبارت TOP نمی‌کنند.

منطق SQL Server:

SELECT TOP number|percent column_name(s)
FROM table_name

SQL SELECT TOP در MySQL و Oracle معادل است

منطق MySQL

SELECT column_name(s)
FROM table_name
LIMIT number

مثال

SELECT *
FROM Persons
LIMIT 5

منطق Oracle

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number

مثال

SELECT *
FROM Persons
WHERE ROWNUM <= 5

جدول اصلی (استفاده شده در مثال‌ها):

جدول Persons:

شناسه نام خانوادگی نام اول آدرس شهر
1 ادامز جان خیابان آکسفورد لندن
2 بوش جرج پنجمین خیابان نیویورک
3 کارتر توماس خیابان چانگ‌آن پکن
4 اوباما باراک خیابان پنسیلوانیا واشنگتن

مثال SQL TOP

حالا، ما می‌خواهیم دو رکورد اول را از جدول "Persons" بالا انتخاب کنیم.

ما می‌توانیم از دستور SELECT زیر استفاده کنیم:

SELECT TOP 2 * FROM Persons

نتیجه:

شناسه نام خانوادگی نام اول آدرس شهر
1 ادامز جان خیابان آکسفورد لندن
2 بوش جرج پنجمین خیابان نیویورک

مثال SQL TOP PERCENT

حالا، ما می‌خواهیم 50% از رکوردهای جدول "Persons" را از جدول بالا انتخاب کنیم.

ما می‌توانیم از دستور SELECT زیر استفاده کنیم:

SELECT TOP 50 PERCENT * FROM Persons

نتیجه:

شناسه نام خانوادگی نام اول آدرس شهر
1 ادامز جان خیابان آکسفورد لندن
2 بوش جرج پنجمین خیابان نیویورک