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-ийн адилхан жишээг харуулж байна: