SQL - DML - Query Multi Table
Assalamu'alaikum
Selamat siang, salam bucin!! Melanjutkan kembali pemmbahasan sebelumnya terkait DML di single table, kali ini saya ingin membahas bagaimana melakukan query data DML pada multi tabel. Langsung saja berikut pembahasannya.
Query Multi Table (DML)
SQL menyediakan 2 teknik yang berbeda untuk melakukann query data dari banyak tabel. yaitu subquery dann join. Meskipun keduanya digunakan untuk melakukann query dengan banyak tabel tetapi perintah ini digunakan untuk tujuan yang berbeda. Untuk melakukan testing query, kita akan menggunakan tabel pegawai contoh berikut ini.
Query Multi Tabel dengan Subquery
Semisal disini kita ingin mengetahui total gaji pokok dari pegawai bagian penjualan saja. Artinya kita harus menggunakan tabel Gaji (yang berisi informasi gaji) dan tabel Pegawai (yang berisi informasi KodeDepartement yang ingin dicari).
Untuk menggunakan subquery, kita bisa menggunakan IN dan memberikan kondisi dalam tanda kurung setelah IN di deklarasi. Berikut contohnya
SELECT SUM (GajiPokok) AS TotalGapok
FROM GAJI
WHERE NIP IN
(SELECT NIP
FROM PEGAWAI
WHERE KodeDepartement = '21');
Subquery ini juga bisa di lakukan dengan memproses 3 tabel atau lebih. Semisal disini kita ingin mengetahui pegawai dari departemen mana yang memiliki gaji pokok lebih besar dari Rp 20.000.000. Perintah querynya adalah
SELECT Dep
FROM DEPARTEMEN
WHERE KodeDepartement IN
(SELECT KodeDepartement
FROM PEGAWAI
WHERE NIP IN
(SELECT NIP
FROM GAJI
WHERE GajiPokok > 2000000);
Query Multi Tabel Dengan Join
Query dengan teknik Subquery sudah sangat bagus untuk mencari data berdasarkan kondisi yang kita inginkan. Namun subquery hanya dapat memunculkan data pada top tabel yang di tampilkan saja. Sehingga subquery tidak dapat memunculkan data dari 2 tabel yang berbeda.
Untuk itu, kita bisa menggunakan query dengan teknik join. Teknik join ini sendiripun memiliki 2 cara yang berbeda. Kita akan bahas masing-masing cara teknik join yang bisa kita gunakan untuk mencari data dari 2 tabel yang berbeda.
Contoh 1 : Semisal kita ingin memunculkan semua data di tabel pegawai dan tabel departement. Maka kita bisa menggunakan perintah query sebagai berikut.
SELECT NIP, NamaPegawai, KodeDepartemen, DeptFROM PEGAWAIJOIN DEPARTEMENTON PEGAWAI.KodeDepartement=DEPARTEMENT.KodeDepartement;
Di beberapa platform tentu kita bisa menggunakan query join lain yang fungsinya sama seperti di atas. Berikut contoh querynya.
SELECT NIP, NamaPegawai, KodeDepartemen, DeptFROM PEGAWAIJOIN DEPARTEMENT using (KodeDepartement);
Namun, secara umum. Perintah query join yang lebih umum digunakan termasuk saya sendiri lebih nyaman dengan menggunakan query sebagai berikut.
SELECT NIP, NamaPegawai, KodeDepartemen, DeptFROM PEGAWAI, DEPARTEMENTWHERE PEGAWAI.KodeDepartement=DEPARTEMENT.KodeDepartement;
Contoh 2 : Kita juga bisa melakukan query terhadap 3 tabel atau lebih dengan menggunakan teknik join. Semisal kita ingin memunculkan data nip, NamaPegawai, Dept dan GajiPokok. Perintah query yang bisa kita gunakan sebagai berikut.
SELECT NIP, KodePegawai, Dept, GajiPokokFROM PEGAWAI, DEPARTEMENT, GAJIWHERE PEGAWAI.KodeDepartement=DEPARTEMENT.KodeDepartementAND PEGAWAI.NIP=GAJI.NIP;
Sebagai catatan, untuk melakukan query 2 tabel atau lebih (Multi tabel) pada kondisi query harus di hubungkan primary key yang berketerkaitan. Artinya harus di berikan kondisi hubungan antara primary key dan foreignn key.
Contoh 3 : Tampikan data NIP, NamaPegawai, Dept, GajiPokok dengan kondisi gaji dibawah 10jt dan hanya departemen penjualan dan marketing. Querynya sebagai berikut.
SELECT NIP, KodePegawai, Dept, GajiPokokFROM PEGAWAI, DEPARTEMENT, GAJIWHERE PEGAWAI.KodeDepartement=DEPARTEMENT.KodeDepartementAND PEGAWAI.NIP=GAJI.NIP
AND GajiPokok < 10000000
AND Dept = 'Penjualan' OR Dept = 'Marketing';
Demikian penjelasan di pembahasan kali ini mengenai SQL Query Multi Tabel. Semoga bermanfaat untuk kalian. Sekian dari saya, jika ada yang ingin di tanyakan bisa langsung di kolom komentar. Terima kasih sudah berkunjung, sampai berjumpa di pembahasan berikutnya.
0 komentar:
Post a Comment