Bismillahirrohmanirrohim... Alhamdulillah pagi ini masi sempet nulis lagi diblog ini karena memang banyak kesibukan yang udah terselesaikan... Postingan kali ini adalah postingan lanjutan dari postingan sebelumnya yang membahas Database Oracle, jadi bagi ente yang baru nyasar atau terdampar di blog ini ada baiknya ente baca2 dulu postingan2 ane sebelumnya :)
Bagi ente yang udah ngikuti tulisan ane tentang tutorial oracle untuk pemula, pada postingan ini ane mau bahas tentang DCL (Data Control Language) yang lebih dikenal dengan transaksi atau laporan. Query nya hanya sekitar select di oracle.... juga nanti ane kasi contoh tentang penggabungan tabel di oracle menggunakan where dan Join, ada Inner join dan Left Join...
Oke biar tidak terlalu panjang postingan ini, langsung saja ane kasi Query untuk memanggil data di Oracle, Query nya sama dengan Query nya Mysql untuk basic select nya
Select * from `mahasiswa`;
udah cukup gitu aja... sama kan kayak Querynya Mysql ?? lalu bagaimana jika kita panggil data dengan beberapa kondisi di oracle ?? sama saja kok, tinggal nambah where aja kan ?
Select * from `mahasiswa` where nim = ‘101’;Kemudian sekarang ane kasi contoh group by di oracle
select nim,count(kode_mk) from ambil_mk where nim = '101' group by nim
Itu aja kan ya yang biasanya di pakai untuk transaksi, sebenarnya si masi banyak lagi seperti MAX, MIN, SUM, Order By dll .... tapi gak ane bahas disini :D ... sebenarnya ane cuma pengen ngasi contoh tentang penggabungan tabel di oracle pake join dan where aja... hehehee...
Begini contoh penggabungan tabel pake where di oracle :select mahasiswa.nama, matkul.nama from mahasiswa, ambil_mk,matkul where mahasiswa.nim=ambil_mk.nim and ambil_mk.kode_mk=matkul.kode_mk and mahasiswa.nim = 101
Penggabungan tabel dengan where di oracle |
Contoh Inner Join di Oracle
select ambil_mk.nim, count(ambil_mk.kode_mk)as jum,sum(matkul.sks)as total_sks from ambil_mk inner join matkul on ambil_mk.kode_mk=matkul.kode_mk group by nim;
select mahasiswa.nim, mahasiswa.nama, nvl(ambil_matkul.jum,0) as jumlah_matkul from mahasiswa left join (select nim, count(kode_mk)as jum from ambil_mk group by nim) ambil_matkul on mahasiswa.nim = ambil_matkul.nim;
Left Join di oracle |
untuk Left Join kan biasanya kalo di Mysql identik dengan IFNULL karena left join adalah penggabungan tabel yang dapat menampilkan record yang tidak terdaftar pada tabel sebelah kanan dan digantikan value nya dengan IFNULL :) ... kalo di oracle gak ada IFNULL yang ada NVL , mangkanya pada query diatas ane kasi NVL
contoh yang terakhir, adalah Contoh penggabungan tabel dengan Inner Join dan Left Join
select mahasiswa.nim, mahasiswa.nama, nvl(ambil_matkul.jum,0) as jumlah_matkul,nvl(ambil_matkul.total_sks,0) as jumlah_matkul from mahasiswa left join (select ambil_mk.nim, count(ambil_mk.kode_mk)as jum,sum(matkul.sks)as total_sks from ambil_mk inner join matkul on ambil_mk.kode_mk=matkul.kode_mk group by nim) ambil_matkul on mahasiswa.nim = ambil_matkul.nim;
Left Join dan Inner Join Oracle |
Udah selesai dah pembahasan tentang DCL / Transaksi / laporan dengan database oracle... cukup mudah, tapi kadang beberapa Query yang dapat di jalankan di Mysql, malah akan Error ketika di jalakankan pada Oracle... mangkanya pada Query-Query diatas ane banyak menggunakan sub Query untuk melakukan inner join atau left join, karena kalo gak pake sub query malah error padahal ane coba jalanin di Mysql Jalan query nya... hehehee... ya pinter2 aja ngakalin pokoknya.... hehehee...oke dah, sampai disini aja dulu pembahasan tentang penggabungan tabel di oracle, sebenarnya masi banyak yang belum ane jelasin tentang oracle ini, ada procedure - function, ada triggers ada view dkk.... tapi tidak ane bahas disini soalnya ane rasa tutorial tentang oracle udah cukuplah untuk basic nya hanya tinggal pengembangannya saja, ente bisa pelajari itu sendiri kok asalkan ente niat, banyak tutorial-tutorial di google... hehehehe... oke dah... semoga bermanfaat buat kita semua :)
No comments:
Post a Comment