Perbedaan Limit di Oracle dan MySQL



Berbicara tentang limit di Oracle tidak mendefinisikan limit. Jadi disini akan dimanipulasi dengan menggunakan rownum, rownum sebagai kolom yang menginisialkan baris setiap record seperti nomor urut atau bisa disebut id auto increment.
Perbedaan limit di mysql dan oracle seperti ini format syntaxnya:


MySQL :
Select record_1,record_2 
from table_1
where kriteria limit nilai_awal, banyak_record

Oracle :
SELECT * FROM (SELECT *, ROWNUM rnum FROM
  (SELECT record_1, record_2  FROM table_1 where kriteria )
    WHERE ROWNUM <= nilai_akhir)
       WHERE rnum >= nilai_awal
atau
SELECT *, ROWNUM FROM
  (SELECT record_1, record_2  FROM table_1 where kriteria)  
    WHERE ROWNUM between nilai_awal and nilai_akhir
Jadi apabila ada tabel_person seperti
nama
alamat
kota
toni kuningan jakarta
yopi kedung surabaya
satria kalibaru kebumen
darma tegalan malang
nuri mojosari mojokerto
adi suropati nganjuk
saya ingin menampilkan data ke 2 sampai dengan ke 5
syntax MySQL:
Select nama, alamat, kota
 from table_person limit 2, 3

syntax Oracle:
SELECT * FROM (SELECT a.*, ROWNUM rnum FROM
  (SELECT nama, alamat, kota  FROM table_person ) a
    WHERE ROWNUM <= 5)
       WHERE rnum >= 2
atau
SELECT a.* 
FROM (SELECT a.*, rownum nomor  from table_person a) a
where nomor between 2 and 5

maka hasilnya adalah

nama
alamat
kota
yopikedungsurabaya
satria kalibaru kebumen
darma tegalan malang
nuri mojosari mojokerto

Tidak ada komentar:

Posting Komentar