11/16/2016

Belajar Tentang Sub Query (Query dalam Query atau Query Nested) di SQL

Belajar Tentang Sub Query (Query dalam Query atau Query Nested) di SQL - indra92-blog.jpg

Pernahkah anda mengalami kerumitan dalam pencarian data dalam tabel namun dalam data tersebut kita membutuhkan pemilihan data juga dari tabel lain? Bagaimana solusi yang anda gunakan untuk permasalahan tersebut? yap, sub-query lah solusinya. Lalu apakah arti dari sub-query tersebut dan apa kegunaannya? 

Sub Query adalah query nested atau sebuah query ada di dalam query. Sub query merupakan pernyataan SELECT yang merupakan bagian dari pernyataan INSERT, SELECT. Sub query digunakan untuk menangani masalah dalam query yang kompleks bahkan kita tidak tahu nilai berapa yang akan di select atau di insert. Subquery sangat berguna ketika kita ingin menampilkan data dengan kondisi yang bergantung pada data di dalam table itu sendiri.
Beberapa kegunaan lainnya dari sub-query :
  • Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui (unknown values).
  • Meng-copy data dari satu tabel ke tabel lain
  • Menerima data dari inline view
  • Mengambil data dari tabel lain untuk kemudian di update ke tabel yang dituju
  • Menghapus baris dari satu tabel berdasarkan baris dari tabel lain
Aturan penggunaan sub-query :

SELECT SELECT_LIST FROM TABLE WHERE EXPRESI OPERATOR (select select_list from table WHERE EXPRESI OPERATOR 'VALUE')

Contoh penerapannya adalah misalnya kita akan menampilkan nama mahasiswa yang mempunyai nilai matakuliah tertinggi pada matakuliah basis data dengan kode Matakuliah mk003, berikut ini tabel nya :

Tabel mahasiswa
nimnama_mahasiswa
001Indra
002Ardi
003Robi

Tabel nilai
nimkode_mkvalue
001mk00190
001mk00380
002mk00270
002mk00390
003mk00370

Tabel mata_kuliah
kode_mknama_mk
mk001algoritma
mk002pemrograman
mk003basis data

Untuk melakukan hal tersebut kita harus menggunakan sub Query untuk menampilkan nama yang mempunyai nilai matakuliah tertinggi pada matakuliah basis data dengan kode Matakuliah mk003. adalah

SELECT mahasiswa.nama_mahasiswa,nilai.value FROM mahasiswa,nilai,mata_kuliah WHERE mata_kuliahh.kode_mk = "mk003" AND nilai.value = (SELECT max(value) FROM nilai WHERE kode_mk = "MK003");

SELECT mahasiswa.nama_mahasiswa,nilai.value FROM mahasiswa,nilai,mata_kuliah WHERE mata_kuliahh.kode_mk = "mk003" AND nilai.value = disebut dengan Main Query dan (SELECT max(value) FROM nilai WHERE kode_mk = "MK003") disebut Sub Query

Oke cukup sekian pembahasan singkat tentang Sub-Query, silahkan kembangkan sesuai kebutuhan anda.

Sumber : codeoke

Mulai menulis blog sejak tahun 2012. Saat ini sedang disibukkan dengan karir dibidang IT nya.

Komentar yang mengandung spam / link aktif akan secara otomatis disembunyikan. Mohon maaf atas ketidaknyamanan jika pertanyaan telat ataupun tidak terbalas karena keterbatasannya waktu. Silahkan hubungi kami di menu Contact Us. Terimakasih
EmoticonEmoticon