Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

ROW_NUMBER di SQL – Pilih Contoh Teratas di SQL dan SQL Server

SQL, atau bahasa kueri terstruktur, memungkinkan kita mengumpulkan data dari database melalui kueri. Ini juga memungkinkan kita untuk memasukkan, memperbarui, dan menghapus data itu.

Dalam posting blog ini, kami akan fokus pada cara mengambil data dan membatasi hasil menggunakan SQL.

Mengapa Anda harus membatasi hasil kueri SQL?

Database biasanya merupakan kumpulan data yang sangat besar. Terkadang kita tidak perlu mengambil semua hasil. Untuk membatasi hasil, kami dapat mengoptimalkan kueri.

Membatasi hasil kueri penting untuk kinerja DB. Mengambil hasil yang besar saat tidak diperlukan menimbulkan beban tambahan pada database dan memengaruhi pengalaman pengguna.

Cara membatasi hasil kueri dalam SQL

Sintaksnya berbeda untuk SQL Server, Oracle, dan MySQL untuk membatasi data.

  • MySQL menggunakan LIMIT .
  • ORACLE menggunakan FETCH FIRST .
  • MS Access dan SQL Server menggunakan TOP .

Kita akan melihat contoh bagaimana masing-masing bekerja secara detail di bawah ini.

Database Demo

Kami memiliki tabel berikut bernama students dengan detailnya seperti yang Anda lihat di bawah ini:

ID Nama Jenis Kelamin
1 Ryan M
2 Joanna B
3 Miranda Andersen B
4 Dalia Mata B
5 Lilianna Boyd B
6 Lexie Sharp M
7 Jazlene Cordova B
8 Brycen Werner M
9 Karissa Turner B
10 Aisha Dodson B
11 Aydin Reeves M

Cara membatasi kueri di MySQL

Di bawah ini adalah sintaks untuk MySQL.

SELECT  (expression)
FROM 
    table_name
LIMIT 5;

Sebagai contoh, kita akan memilih 5 record pertama dari tabel.

Mari kita gunakan tabel students untuk demonstrasi ini.

-- fetch top 5 values from table

SELECT * FROM students
LIMIT 5;

Keluaran:

Cara Menggabungkan LIMIT dengan ORDER BY

Saat Anda menggabungkan LIMIT dengan ORDER BY, Anda bisa mendapatkan hasil yang lebih berarti. Misalnya, kita dapat menggunakan ini untuk menemukan 5 siswa teratas yang mendapat nilai lebih dari 70% pada ujian mereka.

Ayo pesan meja kami students dengan kolom name dan pilih 5 teratas dari hasilnya. Anda dapat melakukannya seperti ini:

SELECT * FROM students
order by name
LIMIT 5;

Keluaran:

Cara membatasi hasil – sintaks Oracle

Di bawah ini adalah sintaks yang setara untuk contoh pertama kami di Oracle.

SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;

Dalam versi Oracle yang lebih lama, Anda dapat menggunakan ROWNUM untuk membatasi jumlah baris yang dikembalikan oleh kueri.

Contoh:

SELECT * FROM 
students 
WHERE ROWNUM < 5;

Cara membatasi hasil dalam SQL – sintaks MS Access

Di bawah ini adalah sintaks yang setara untuk contoh pertama kami di MS Access.

SELECT TOP 5 * FROM students;

Menutup

Fungsionalitas LIMIT bisa sangat berguna untuk pengoptimalan kueri saat dikombinasikan dengan pengurutan. Kueri yang efisien lebih ringan pada sistem dan cepat bagi pengguna. Selalu disarankan untuk MEMBATASI hasil jika memungkinkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KIRI GABUNG hanya baris pertama

  2. Tambahkan Kunci Asing ke tabel yang ada

  3. ProxySQL:Semua Sumber Daya Somenines

  4. Bagaimana saya bisa melindungi nama pengguna dan kata sandi MySQL dari dekompilasi?

  5. Cara terbaik untuk menguji apakah ada baris di tabel MySQL