٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش بندSQL TOP ، LIMIT ، FETCH FIRST یا ROWNUM

SQL SELECT TOP بند از این SELECT TOPبند برای تعیین تعداد رکوردهای بازگشتی استفاده می شود. این SELECT TOPبند در جداول بزرگ با هزاران پرونده مفید است. بازگشت تعداد زیادی رکورد می تواند بر عملکرد تأثیر بگذارد. توجه: همه سیستم های پایگاه داده از SELECT…

محمد یوسفی

15 آگوست 2021

SQL SELECT TOP بند

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

این SELECT TOPبند در جداول بزرگ با هزاران پرونده مفید است. بازگشت تعداد زیادی رکورد می تواند بر عملکرد تأثیر بگذارد.

توجه: همه سیستم های پایگاه داده از SELECT TOPبند پشتیبانی نمی کنند . MySQL از LIMITبند انتخاب تعداد محدودی رکورد پشتیبانی می کند ، در حالی که اوراکل از و . FETCH FIRST n ROWS ONLYROWNUM

نحو SQL Server / MS Access:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

نحو MySQL:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

نحو Oracle 12:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

نحو اوراکل قدیمی تر:

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

نحو Oracle قدیمی (با سفارش از طریق):

SELECT *
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;

پایگاه داده نسخه ی نمایشی

در زیر مجموعه ای از جدول “مشتریان” در پایگاه داده نمونه Northwind آمده است:


نمونه های SQL TOP ، LIMIT و FETCH FIRST

دستور SQL زیر سه رکورد اول را از جدول “مشتریان” (برای SQL Server/MS Access) انتخاب می کند:

مثال

SELECT TOP 3 * FROM Customers;

دستور SQL زیر مثال معادل MySQL را نشان می دهد:

مثال

SELECT * FROM Customers
LIMIT 3;

دستور SQL زیر نمونه معادل Oracle را نشان می دهد:

مثال

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL TOP PERCENT مثال

دستور SQL زیر 50٪ اول پرونده ها را از جدول “مشتریان” (برای SQL Server/MS Access) انتخاب می کند:

مثال

SELECT TOP 50 PERCENT * FROM Customers;

دستور SQL زیر نمونه معادل Oracle را نشان می دهد:

مثال

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

یک بند در کجا اضافه کنید

دستور SQL زیر سه رکورد اول را از جدول “مشتریان” انتخاب می کند ، جایی که کشور “آلمان” است (برای SQL Server/MS Access):

مثال

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';

دستور SQL زیر مثال معادل MySQL را نشان می دهد:

مثال

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

دستور SQL زیر نمونه معادل Oracle را نشان می دهد:

مثال

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;

منبع

مطالب مرتبط

0 دیدگاه