Tuesday, June 9, 2015

Menggunakan Top Clause Dan Rownum Clause Di Oracle SQL

Tuesday, June 09, 2015

Pada tutorial kali ini, Kita akan belajar tentang Bagaimana Cara Menggunakan Top Clause & Rownum Clause pada Select Statement di Oracle SQL.


Persiapan

Pada tutorial kali ini, Ada beberapa hal yang harus Anda siapkan terlebih dahulu, yaitu:

1. Tools yang digunakan

Tools yang digunakan pada tutorial kali ini adalah sebagai berikut:

a. Oracle Database 10g
b. Oracle SQL Plus

2. Tabel pegawai

Silakan Anda buat tabel pegawai terlebih dahulu, dengan struktur sebagai berikut:


Di bawah ini adalah script untuk membuat tabel pegawai:

CREATE TABLE pegawai(
    id_pegawai VARCHAR2(10) NOT NULL,
    nama_pegawai VARCHAR2(30) NOT NULL,
    umur NUMBER(3) NOT NULL,
    alamat VARCHAR2(30) NOT NULL,
    gender CHAR(1),
    departemen VARCHAR(5),
    CONSTRAINT pegawai_pkey PRIMARY KEY (id_pegawai)
);

2. Data dari tabel pegawai

Silakan Anda isi tabel pegawai di atas dengan menjalankan script insert di bawah ini:

Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('001', 'Nursalim', 20, 'Brebes', 'L', 'IT');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('002', 'Iskiyati', 25, 'Bandung', 'P', 'IT');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('003', 'Nurul Hikmah', 18, 'Semarang', 'P', 'ACC');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('004', 'Naura Krasiva', 15, 'Jakarta', 'P', 'IT');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('005', 'Ahmad Fathoni', 20, 'Yogyakarta', 'L', 'HR');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('006', 'Ramanata', 17, 'Jakarta', 'L', 'HR');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('007', 'Taryono', 18, 'Surabaya', 'L', 'ACC');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('008', 'Nani Indriyani', 15, 'Bandung', 'P', 'FIN');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('009', 'Imron', 23, 'Bandung', 'L', 'ACC');
Insert into PEGAWAI(ID_PEGAWAI, NAMA_PEGAWAI, UMUR, ALAMAT, GENDER, DEPARTEMEN)
   Values('010', 'Andi', 16, 'Bandung', 'L', 'IT');
COMMIT;

Coba Anda query tabel pegawai diatas menggunakan query di bawah ini:

SQL> set linesize 200;
SQL> SELECT * FROM pegawai;

ID_PEGAWAI NAMA_PEGAWAI            UMUR ALAMAT         GENDER DEPARTEMEN
---------- -------------------- ------- -------------- ------ ----------
001        Nursalim                  20 Brebes         L      IT
002        Iskiyati                  25 Bandung        P      IT
003        Nurul Hikmah              18 Semarang       P      ACC
004        Naura Krasiva             15 Jakarta        P      IT
005        Ahmad Fathoni             20 Yogyakarta     L      HR
006        Ramanata                  17 Jakarta        L      HR
007        Taryono                   18 Surabaya       L      ACC
008        Nani Indriyani            15 Bandung        P      FIN
009        Imron                     23 Bandung        L      ACC
010        Andi                      16 Bandung        L      IT

3. Kopi dan Cemilan untuk menemani Anda belajar :)

Top Clause

Top Clause digunakan untuk menampilkan data sebanyak n-data sesuai urutan, baik secara ascending maupun descending.

Untuk Oracle dengan versi 10 keatas, Top Clause sudah tidak di-support lagi, Jadi Top Clause hanya bisa berjalan pada Oracle 8i, dan 9i.

Sintak Dasar

Di bawah ini adalah sintak dasar penggunaan Top clause di Oracle SQL:

  SELECT [ TOP number | percentage ]
         column_name1, column_name2,..., nolumn_n
    FROM table_name
  [WHERE clause]
  [ORDER BY clause];

Contoh:

1. Dari data pegawai diatas, tampilkan 5 data pegawai dengan usia teratas.

SQL> SELECT TOP 5 *
  2  FROM pegawai
  3  ORDER BY umur desc;

ID_PEGAWAI NAMA_PEGAWAI          UMUR ALAMAT           GENDER DEPARTEMEN
---------- ----------------- -------- ---------------- ------ ----------
002        Iskiyati                25 Bandung          P      IT
009        Imron                   23 Bandung          L      ACC
001        Nursalim                20 Brebes           L      IT
005        Ahmad Fathoni           20 Yogyakarta       L      HR
003        Nurul Hikmah            18 Semarang         P      ACC

2. Dari data pegawai diatas, tampilkan 5 data pegawai dengan usia termuda.

SQL> SELECT TOP 5 *
  2  FROM pegawai
  3  ORDER BY umur;

ID_PEGAWAI NAMA_PEGAWAI          UMUR ALAMAT           GENDER DEPARTEMEN
---------- ----------------- -------- ---------------- ------ ----------
004        Naura Krasiva           15 Jakarta          P IT
008        Nani Indriyani          15 Bandung          P FIN
010        Andi                    16 Bandung          L IT
006        Ramanata                17 Jakarta          L HR
003        Nurul Hikmah            18 Semarang         P ACC

Rownum Clause

Rownum clause sama dengan Top clause, yaitu digunakan untuk menampilkan data sebanyak n-data sesuai urutan, baik secara ascending maupun descending.

Rownum clause digunakan untuk menggantikan Top clause yang sudah tidak disupport lagi untuk Oracle versi 10 keatas, seperti Oracle 10g, Oracle 11g, dan lain sebagainya.

Sintak Dasar

Di bawah ini adalah sintak dasar penggunaan Rownum clause di Oracle SQL:

SELECT column_name1, column_name2, ..., column_n
  FROM table_name
 WHERE ROWNUM operator condition;

Contoh:

1. Dari data pegawai diatas, tampilkan 5 data pegawai dengan usia teratas.

SQL> SELECT * FROM
  2  (SELECT * FROM pegawai
  3  ORDER BY umur DESC)
  4  WHERE ROWNUM < 6;

ID_PEGAWAI NAMA_PEGAWAI          UMUR ALAMAT           GENDER DEPARTEMEN
---------- ----------------- -------- ---------------- ------ ----------
002        Iskiyati                25 Bandung          P      IT
009        Imron                   23 Bandung          L      ACC
001        Nursalim                20 Brebes           L      IT
005        Ahmad Fathoni           20 Yogyakarta       L      HR
003        Nurul Hikmah            18 Semarang         P      ACC

2. Dari data pegawai diatas, tampilkan 5 data pegawai dengan usia termuda.

SQL> SELECT * FROM
  2  (SELECT * FROM pegawai
  3  ORDER BY umur)
  4  WHERE rownum < 6;

ID_PEGAWAI NAMA_PEGAWAI          UMUR ALAMAT           GENDER DEPARTEMEN
---------- ----------------- -------- ---------------- ------ ----------
004        Naura Krasiva           15 Jakarta          P IT
008        Nani Indriyani          15 Bandung          P FIN
010        Andi                    16 Bandung          L IT
006        Ramanata                17 Jakarta          L HR
003        Nurul Hikmah            18 Semarang         P ACC


                                                    ~~~## Oracle SQL ##~~~

Sekian tutorial singkat tentang Penggunaan Top Clause Dan Rownum Clause Di Oracle SQL. Semoga bermanfaat & Happy Learning Oracle SQL

Written by

We are Creative Blogger Theme Wavers which provides user friendly, effective and easy to use themes. Each support has free and providing HD support screen casting.

0 comments:

Post a Comment

 

© 2015 {Ora~Kelar} | Ora Kelar Kelar. All rights resevered. Designed by Templateism

Back To Top