Have a question?
Message sent Close
View Categories

SQL Select Top

4 min read

The SQL SELECT TOP Clause – SQL SELECT TOP нөхцөл #

The SELECT TOP clause is used to specify the number of records to return.

SELECT TOP нөхцөл нь харах мэдээллийн тоог заахад ашиглагддаг.

The SELECT TOP clause is useful on large tables with thousands of records. Returning a large number of records can impact performance.

SELECT TOP нөхцөл нь хэдэн мянган мэдээлэлтэй том хүснэгтүүдэд хэрэгтэй. Олон мэдээлэл харагдуулах нь ажилгаанд нөлөөлж болно.

Example – Жишээ #

Select only the first 3 records of the Customers table:

Харилцагч хүснэгтээс зөвхөн эхний 3 мэдээллийг сонгоно:

SELECT TOP 3 * FROM Customers;

Note: Not all database systems support the SELECT TOP clause. MySQL supports the LIMIT clause to select a limited number of records, while Oracle uses FETCH FIRST n ROWS ONLY and ROWNUM.

Тэмдэглэл: Бүх мэдээллийн сангийн системүүд SELECT TOP нөхцлийг дэмждэггүй. MySQL нь мэдээллүүд тоогоор хязгаарлаж хархын тулд LIMIT нөхцлийг ашигладаг, харин Oracle нь FETCH FIRST n ROWS ONLY болон ROWNUM-г ашигладаг.

SQL Server / MS Access Syntax: – SQL Сервер / MS Хандалтын дүрэм

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

SELECT TOP тоо|хувь багана_нэр(нүүд)
FROM хүснэгт_нэр
WHERE нөхцөл;

MySQL Syntax: – MySQL Дүрэм:

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

SELECT багана_нэр(нүүд)
FROM хүснэгт_нэр
WHERE нөхцөл
LIMIT тоо;

Oracle 12 Syntax: – Oracle 12 дүрэм

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

SELECT багана_нэр(нүүд)
FROM хүснэгт_нэр
ORDER BY багана_нэр(нүүд)
FETCH FIRST тоо ROWS ONLY;

Older Oracle Syntax: – Хуучин Oracle дүрэм 

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

Older Oracle Syntax (with ORDER BY): –  Oracle Хуучин Дүрэм (ORDER BY-тай)

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

SELECT *
FROM (SELECT багана_нэр(нүүд) FROM хүснэгт_нэр ORDER BY багана_нэр(нүүд))
WHERE ROWNUM <= тоо;


Demo Database – Жишээ мэдээллийн сан #

Below is a selection from the Customers table used in the examples:

Доорх Харилцагчид хүснэгтийг жишээ болгож ашиглав: 

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

LIMIT  #

The following SQL statement shows the equivalent example for MySQL:

Доорх SQL өгүүлбэр нь MySQL-ийн адилхан жишээг харуулж байна:

Example – Жишээ #

Select the first 3 records of the Customers table:

Харилцагчид хүснэгтийн эхний 3 мэдээллийг сонгоно:

SELECT * FROM Customers
LIMIT 3;

FETCH FIRST  #

The following SQL statement shows the equivalent example for Oracle:

Доорх SQL өгүүлбэр нь Oracle-ийн адилхан жишээг харуулж байна:

Example – Жишээ #

Select the first 3 records of the Customers table:

Харилцагчид хүснэгтийн эхний 3 мэдээллийг сонгоно:

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL TOP PERCENT Example – SQL TOP PERCENT Жишээ #

The following SQL statement selects the first 50% of the records from the “Customers” table (for SQL Server/MS Access):

Доорх SQL өгүүлбэр нь “Харилцагчид” хүснэгтийн эхний 50% мэдээллийг сонгоно (SQL Server/MS Access-д):

Example – Жишээ #

SELECT TOP 50 PERCENT * FROM Customers;

The following SQL statement shows the equivalent example for Oracle:

Доорх SQL өгүүлбэр нь Oracle-ийн адилхан жишээг харуулж байна:

Example – Жишээ #

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

ADD a WHERE CLAUSE – WHERE нөхцөл нэмэх #

The following SQL statement selects the first three records from the “Customers” table, where the country is “Germany” (for SQL Server/MS Access):

Доорх SQL өгүүлбэр нь “Харилцагчид” хүснэгтийн эхний гурван “Герман” улстай мэдээллийг сонгоно (SQL Server/MS Access-д):

Example – Жишээ #

SELECT TOP 3 * FROM Customers
WHERE Country=‘Germany’;

The following SQL statement shows the equivalent example for MySQL:

Доорх SQL өгүүлбэр нь MySQL-ийн адилхан жишээг харуулж байна:

Example – Жишээ #

SELECT * FROM Customers
WHERE Country=‘Germany’
LIMIT 3;

The following SQL statement shows the equivalent example for Oracle:

Доорх SQL өгүүлбэр нь Oracle-ийн адилхан жишээг харуулж байна:

Example – Жишээ #

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

ADD the ORDER BY Keyword – ORDER BY түлхүүр үгийг нэмэх #

Add the ORDER BY keyword when you want to sort the result, and return the first 3 records of the sorted result.

Үр дүнг эрэмбэлэхийг хүсвэл ORDER BY түлхүүр үгийг нэмнэ үү, мөн эрэмбэлэгдсэн үр дүнгийн эхний 3 мэдээллийг харуулна.

For SQL Server and MS Access:

SQL Сервэр болон MS хандалтад:

Example – Жишээ #

Sort the result reverse alphabetically by CustomerName, and return the first 3 records:

ХарилцагчНэр-ээр цагаан толгойн эсрэг дарааллаар эрэмбэлээд эхний 3 мэдээллийг харуулна:

SELECT TOP 3 * FROM Customers
ORDER BY CustomerName DESC;

The following SQL statement shows the equivalent example for MySQL:

Доорх SQL өгүүлбэр нь MySQL-ийн адилхан жишээг харуулж байна:

Example – Жишээ #

SELECT * FROM Customers
ORDER BY CustomerName DESC
LIMIT 3;
 
The following SQL statement shows the equivalent example for Oracle:
 
Доорх SQL өгүүлбэр нь Oracle-ийн адилхан жишээг харуулж байна:

  #

Example – Жишээ #

SELECT * FROM Customers
ORDER BY CustomerName DESC
FETCH FIRST 3 ROWS ONLY;

Powered by BetterDocs

Leave a Reply