Wednesday, June 26, 2019

Oracle Apex 3 - Query Multi Tabel dengan Variabel Penampung

Assalamu'alaikum

Selamat pagi, salam database. Berjumpa lagi di pembahasan yang sama yaitu tentang DML. Jika sebelumnya kita sudah coba DML Multi tabel menggunakan Using Join dan Using + On kali ini saya ingin membahas query multi tabel dengan menggunakan variabel penampung. Langsung saja berikut pembahasannya. 

DML Dengan Variabel

Masih di pembahasan DML tentang Select yang digunakan untuk memanipulasi data yang ingin di cari dan tentu yang kita bahas masih di pembahasan skema manipulasi data HR. Pada Oracle, data yang ingin kita manipulasikan bisa kita terapkan pada satu variabel yang kita buat untuk menandakan variabel tersebut merupakan custom name dari nama sebuah tabel. 


Semisal tabel employees kita arahkan agar menggunakan variabel e dan tabel jobs kita arahkan agar menggunakan variabel j. Sehingga penerapan instruksinya akan lebih mudah ketika kita ingin manipulasi data yang ingin di cari hanya dengan menggunakan huruf e dan j yang mewakili kedua entitas tersebut. 

Struktur Penulisan DML Variabel

Disini semisal saya ingin menampilkan data nama pertama karyawan, nama terakhir, nomor telefon dan job title. Untuk nama depan, belakang, nomor telefon dan salary berada di dalam tabel employees, penulisannya tinggal kita tambahkan variabel e di ikuti simbol titik (e.) dan di sambung dengan attribute yang berkaitan. Begitu juga dengan attribute job title yang berada di tabel Jobs. Maka penulisannya j.job_title

Sedangkan untuk penulisan pada baris From, dituliskan dengan nama tabelnya lalu di ikuti variabel yang menandakan nama tabel tersebut. Semisal pada tabel Employees, maka di ikuti oleh variabel e yang menandakan variabel e tersebut adalah dari tabel employees.

Dan struktur yang terakhir, ingat!!. Kalau sudah berkaitan dengan query multi tabel, maka kita perlu menghubungkan foreign_key antara tabel Jobs dengan tabel Employees. Dalam hal ini foreign key yang menghubungkan keduanya adalah Job_ID. Dan tentu karena kita menggunakan variabel, pada deklarasinya penghubungan foreign key ini harus di awali dengan variabel yang mewakili entitas yang di sebutkan di atas.

SELECT e.FIRST_NAME, e.LAST_NAME, e.PHONE_NUMBER, j.JOB_TITLE, e.SALARY
FROM EMPLOYEES e, JOBS j
WHERE j.JOB_ID = e.JOB_ID;

Semisal disini kita ingin menampilkan data dari 3 tabel menggunakan variabel penampung. Tabel yang ingin kita tampilkan dari tabel Employees, Jobs dan Departments. Kita coba lanjutkan saja perintah query di atas, tinggal kita tambahkan saja pada Selectnya yaitu d.department_name, lalu pada Fromnya tambahkan tabel depertments di ikuti variabel d yang mewakili tabel deparments dan di akhiri dengan menghubungkan dengan foreign key. 

SELECT e.FIRST_NAME, e.LAST_NAME, e.PHONE_NUMBER, j.JOB_TITLE, e.SALARY, d.DEPARTMENT_NAME
FROM EMPLOYEES e, JOBS j, DEPARTMENTS d
WHERE j.JOB_ID = e.JOB_ID AND d.DEPARTMENT_ID = e.DEPARTMENT_ID;


Dari perintah query di atas kita customize lagi, semisal kita ingin menampilkan data diatas dengan kondisi gaji di antara 1000 sampai 5000. Maka kita tinggal menambahkan kondisi pada baris Where yang di sambung dengan perintah AND setelah penghubungan foreign key ketiga tabel.

SELECT e.FIRST_NAME, e.LAST_NAME, e.PHONE_NUMBER, j.JOB_TITLE, e.SALARY, d.DEPARTMENT_NAME
FROM EMPLOYEES e, JOBS j, DEPARTMENTS d
WHERE j.JOB_ID = e.JOB_ID AND d.DEPARTMENT_ID = e.DEPARTMENT_ID
AND SALARY BETWEEN 1000 and 5000;

Kita coba tambahkan lagi, semisal kita ingin mengurutkan list data ini berdasarkan department_namenya. Jadi nantinya berdasarkan department_name nya akan urut sesuai abjad.

SELECT e.FIRST_NAME, e.LAST_NAME, e.PHONE_NUMBER, j.JOB_TITLE, e.SALARY, d.DEPARTMENT_NAME
FROM EMPLOYEES e, JOBS j, DEPARTMENTS d
WHERE j.JOB_ID = e.JOB_ID AND d.DEPARTMENT_ID = e.DEPARTMENT_ID
AND SALARY BETWEEN 1000 and 5000
ORDER BY DEPARTMENT_NAME;

Cukup sekian pembahasan tentang query multi tabel dengan variabel penampung. Semoga bisa bermanfaat bagi pembaca. Sekian dari saya, saran dan pertanyaan bisa letakkan di komentar. Terima kasih sudah berkunjung, sampai berjumpa di pembahasan oracle apex selanjutnya. Salam Database!!.

0 komentar:

Post a Comment

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment