SQL - Klausa TOP, LIMIT, atau ROWNUM
SQL TOP klausa digunakan untuk mengambil nomor TOP N atau X persen catatan dari tabel.
Note- Semua database tidak mendukung klausa TOP. Misalnya MySQL mendukung fileLIMIT klausa untuk mengambil sejumlah catatan sementara Oracle menggunakan ROWNUM perintah untuk mengambil data dalam jumlah terbatas.
Sintaksis
Sintaks dasar dari klausa TOP dengan pernyataan SELECT adalah sebagai berikut.
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE [condition]
Contoh
Pertimbangkan tabel CUSTOMERS yang memiliki catatan berikut -
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Kueri berikut adalah contoh di server SQL, yang akan mengambil 3 data teratas dari tabel CUSTOMERS.
SQL> SELECT TOP 3 * FROM CUSTOMERS;
Ini akan menghasilkan hasil sebagai berikut -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+
Jika Anda menggunakan server MySQL, berikut adalah contoh yang setara -
SQL> SELECT * FROM CUSTOMERS
LIMIT 3;
Ini akan menghasilkan hasil sebagai berikut -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+
Jika Anda menggunakan server Oracle, maka blok kode berikut memiliki contoh yang setara.
SQL> SELECT * FROM CUSTOMERS
WHERE ROWNUM <= 3;
Ini akan menghasilkan hasil sebagai berikut -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+