Halaman

Kamis, 07 Februari 2013

Select (Oracle)

Salah satu syntax yang paling penting dalam SQL adalah selectSelect 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 hanyasatu 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 menghilangkansyntax ORDER BY dan GROUP BY dengan amati apa yang terjadi dan mengapa bisa terjadi.

Tidak ada komentar:

Posting Komentar