Perintah Select
Salah satu syntax yang paling penting dalam SQL adalah select. Select berfungsi untuk menampilkan data-data pada tabel-tabel yang terdapat dalam database. Di sinilah terdapat banyak perbedaan antara SQL biasa dan SQL Oracle. Oracle banyak sekali meringkas syntax-syntax menjadi lebih sederhana walaupun sebenarnya oracle juga tetap memerima SQL strandar.
Select secara sederhana dapat dituliskan sebagai berikut :
SELECT
[tb1].[nama_kolom1], [tb2].[nama_kolom2], . . . FROM [nama_tabel1] [tb1], [nama_tabel2] [tb2] WHERE [kondisi_join] [operator_boolean] [kondisi_select] ORDER BY [nama_kolom_order] GROUP BY [nama_kolom_group]; |
Keterangan :
tb | : | Alias dari [nama_tabel1] |
nama_kolom | : | Nama kolom yang akan ditampilkan |
kondisi_join | : | Jika pada klausa FORM terdapat dua tabel atau lebih maka harus terdapat kondisi ini yaitu menjoinkan tabel-table pada klausa tersebut |
operator_boolean | : | Operator-operator untuk kondisi_join seperti AND dan OR |
kondisi_select | : | Kondisi tambahan untuk menyempurnakan operasi SELECT ini. Biasanya menggunakan operasi perbandingan, seperti : >, <, >=, <=, BETWEEN, <> |
nama_kolom_order | : | Hasil SELECT ingin di urutkan berdasarkan nama_kolom tersebut. |
nama_kolom_group | : | Hasil SELECT ingin dikelompokkan berdasarkan nama_kolom. Jadi semua record yang bernilai sama akan dikeluarkan hanya satu record saja. Yang perlu diperhatikan adalah semua kolom yang di-SELECT harus di GROUP BY -kan. |
Sebelum diperjelas dengan contoh maka sebaiknya kita mengisi data untuk tabel-tabel yang telah kita buat pada artikel Create Table “Sistem Belajar-Mengajar” – (Analisa & Desain). Script untuk mengisi data silahkan download di sini.
1. Menampilkan semua siswa kelas I dengan diurutkan berdasarkan nama siswa tersebut.
SELECT
NAMA, ALAMAT FROM TEST.MURID WHERE KELAS_ID = ‘I’ /*[kondisi_select]*/ ORDER BY NAMA, NIS; /*[nama_kolom_order]*/ |
2. Menampilkan guru-guru yang mengajar mata pelajaran biologi.
SELECT
g.NIG, b.NAMA FROM TEST.GURU g, TEST.BELAJAR b WHERE g.NIG = b.NIG /*[kondisi_join]*/ AND b.KODE_MP = ‘DA0007′ /*[kondisi_select]*/ GROUP BY g.NIG, g.NAMA; /*[nama_kolom_group]*/ |
Silahkan anda mencoba contoh-contoh semisal di atas. Coba pula dengan menghilangkan syntax ORDER BY dan GROUP BY dengan amati apa yang terjadi dan mengapa bisa terjadi.
Insert, Update, Delete (Oracle)
Oleh oracle1stOperasi standar sebuah database adalah insert, delete dan update. Ketiganya biasa disebut DML kependekan dari Data Manipulation Language. SQL merupakan bahasa standar untuk pengolahan database. Tentunya Oracle-pun menggunakan SQL, hanya saja ada beberapa karakteristik yang berbeda dengan SQL standar.
Setelah kita membahas Persiapan “Coba-coba” Oracle, maka kita memiliki user tersendiri yaitu user yang bernama TEST. Silahkan Anda masuk ke page Oracle XE atau masuk ke SQL+ (jika Anda menginstall versi oracle lain, misal : 8i, 9i, 10g, dan anda juga harus memasukkan nilai hostring/tnsnames database Anda) dan login dengan user tersebut, yaitu :
User | TEST |
Password | test |
INSERT
Insert digunakan untuk memasukkan data ke sebuah tabel dalam user (schema) tertentu. Syntax Insert dapat dituliskan sebagai berikut :
INSERT INTO [nama_user].[nama_table] ([nama_kolom1], [nama_kolom2], . . .) VALUES ([nilai1], [nilai2], . . .);
|
Keterangan :
nama_user | : | Nama user atau nama schema ketika login |
nama_tabel | : | Nama tabel yang terdapat pada user (schema) tersebut |
nama_kolom | : | Nama kolom yang akan diisi data pada [nama_tabel] |
nilai | : | Nilai yang akan diisikan pada [nama_kolom], mis : [nilai1] akan diisikan ke dalam [nama_kolom1], [nilai2] akan diisikan ke dalam [nama_kolom2] |
UPDATE
Update digunakan untuk mengubah data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu. Syntax Update dapat dituliskan sebagai berikut :
UPDATE [nama_user].[nama_table]SET [nama_kolom1] = [nilai1], [nama_kolom2] = [nilai2], [nama_kolom3] = [nilai3], . . . WHERE [kondisi_update];
|
Keterangan :
nama_user | : | Nama user atau nama schema ketika login |
nama_tabel | : | Nama tabel yang terdapat pada user (schema) tersebut |
nama_kolom | : | Nama kolom yang akan diisi data pada [nama_tabel] |
nilai | : | Nilai yang akan diisikan pada [nama_kolom] |
kondisi_update | : | Sebuah kondisi yang yang menyaring (filter) record-record mana saja yang akan di update |
DELETE
Delete digunakan untuk menghapus data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu. Syntax Delete dapat dituliskan sebagai berikut :
DELETE [nama_user].[nama_table]WHERE [kondisi_delete];
|
Keterangan :
nama_user | : | Nama user atau nama schema ketika login |
nama_tabel | : | Nama tabel yang terdapat pada user (schema) tersebut |
kondisi_delete | : | Sebuah kondisi yang yang menyaring (filter) record-record mana saja yang akan di delete |
Sebelum membaca contoh di bawah ini, ada baiknya anda membaca terlebih dahulu artikel Create Table Sistem Belajar-Mengajar – (Analisa & Desain). Artikel tersebut akan membantu anda untuk memahami contoh-contoh yang diberikan, karena tabel-tabel yang digunakan adalah berdasarkan studi kasus tersebut.
Insert :
NIS,
VALUES ( ’000001′,
|
Update :
NAMA = ‘MUKHTARUL UMAM SHOLEH’,
WHERE NIS = ’000001′; |
Delete :
WHERE NIS = ’000001′; |
NB :
- Jika ingin perubahan disimpan oleh database maka akhiri setiap syntax DML dengan eksekusi COMMIT;
- Jika perubahan tidak ingin disimpan alias ingin dikembalikan seperti semula maka akhiri dengan eksekusi ROLLBACK;
- Setiap syntax DML yang telah di COMMIT maka tidak dapat di ROLLBACK.
Daftar Pustaka
http://oracle1st.wordpress.com/2009/06/09/select-oracle/
http://oracle1st.wordpress.com/2009/06/05/insert-update-delete-oracle/
bagus ni bwt blajar.....
BalasHapuskalau ada yg terbaru lg, posting trus ya....
thanx bro....moga berguna...
BalasHapusmembantu sx,,
BalasHapusmksh :)
sangat membantu wat saya yang pemula yang lagi mo belajar oracle ne,.. makasi gan,..
BalasHapustq...
BalasHapusterima kasih banyak atas informasi nya . .
BalasHapuskita juga punya nih jurnal mengenai oracle, silahkan dikunjungi dan dibaca , berikut linknya
BalasHapushttp://repository.gunadarma.ac.id/bitstream/123456789/4763/1/1%20DOKUMEN%20PRESENTASI%202.pdf
semoga bermanfaat yaa :)
Balas
sdh ngak ada link-nya bro
Hapus