Pengertian dan Contoh SUBQUERY pada MYSQL / ORACLE

Pengertian dan Contoh SUBQUERY pada MYSQL / ORACLE

Subquery adalah suatu query sama halnya query biasa yang berjalan di dalam query induk/master. Subquery bisa dipakai untuk mengambil suatu data di field/kolom pada tabel lain. Contohnya kita mempunyai tabel seperti berikut:

Tabel 1 : (Identitas)
Nama No_Telp Pekerjaan Kode_Kota
Dwiky 0219857348 Developer JKT01
Ilham 0219378474 Developer JKT01
Wilda 0219374556 Akuntan BDG01
Tabel 2 : (Data_Kota)
Kode_Kota* Nama_Kota
JKT01 JAKARTA
BDG01 BANDUNG
DPS02 DENPASAR

Disini kita mempunyai 2 tabel, Tabel 1 dinamai identitas dan Tabel 2 dinamai Data_Kota.

Lalu kita mau menampilkan nama kota pada Tabel 1. Sedangkan Tabel 1 tidak mempunyai kolom “Nama_Kota”, untuk itu kita bisa memakai subquery untuk menampilkan kolom nama kota.

Berikut ini querynya:
</div>
<div style="text-align: justify;"><span style="font-family: Courier New, Courier, monospace;"><span style="color: blue;"><b>SELECT </b></span>Nama, No_Telp, Pekerjaan, Kode_Kota, (<span style="color: blue;"><b>SELECT </b></span><span style="color: purple;"><b>T2</b></span>.Nama_Kota <span style="color: blue;"><b>FROM </b></span>Data_Kota <span style="color: purple;"><b>T2 </b></span>WHERE <span style="color: purple;"><b>T1</b></span>.Kode_Kota = <span style="color: purple;"><b>T2</b></span>.Kode_Kota) <span style="color: blue;"><b>AS </b></span>Nama_Kota <b><span style="color: blue;">FROM</span> </b>Identitas <span style="color: purple;"><b>T1</b></span>;</span></div>
<div style="text-align: justify;">
Subquery yang dimaksud pada query diatas yaitu:
</div>
<div style="text-align: justify;"><span style="font-family: 'Courier New', Courier, monospace;">(</span><span style="color: blue; font-family: 'Courier New', Courier, monospace;"><b>SELECT </b></span><span style="color: purple; font-family: 'Courier New', Courier, monospace;"><b>T2</b></span><span style="font-family: 'Courier New', Courier, monospace;">.Nama_Kota </span><span style="color: blue; font-family: 'Courier New', Courier, monospace;"><b>FROM </b></span><span style="font-family: 'Courier New', Courier, monospace;">Data_Kota </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;"><b>T2 </b></span><span style="font-family: 'Courier New', Courier, monospace;">WHERE </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;"><b>T1</b></span><span style="font-family: 'Courier New', Courier, monospace;">.Kode_Kota = </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;"><b>T2</b></span><span style="font-family: 'Courier New', Courier, monospace;">.Kode_Kota) <b><span style="color: blue;">AS</span></b> </span><span style="font-family: 'Courier New', Courier, monospace;">Nama_Kota</span></div>
<div style="text-align: justify;">

T1 merupakan alias untuk tabel identitas dan T2 merupakan alias untuk tabel Data_Kota.

Alias itu dipakai untuk memudahkan menuliskan nama tabel. Disamping itu pada tabel 1 dan tabel 2 terdapat nama kolom/field yang sama dan keduanya dipanggil bersamaan pada satu query sehingga bila tidak menggunakan alias, maka sistem database tidak mengetahui yang dimana kolom/field punya Tabel 1 dan kolom/field punya Tabel 2.

Ayo kita bahas satu persatu maksud dari subquery diatas:
 
SELECT T2.Nama_Kota
Yaitu menampilkan kolom/field Nama_Kota.
FROM Data_Kota T2
Dari tabel Data_Kota dengan alias T2.
WHERE T1.Kode_Kota = T2.Kode_Kota
Yang dimana Kode_Kota pada Tabel 1 (Identitas) sama dengan Kode_Kota pada Tabel 2 (Data_Kota).
AS Nama_Kota
Yang hasil dari querynya dinamai kolom Nama_Kota.
Query itu ada di dalam query:
SELECT Nama, No_Telp, Pekerjaan, Kode_Kota, (XXXXXXXXX) FROM Identitas T1;
Bila dijalankan maka hasil yang di bisa yaitu:
Nama No_Telp pekerjaan Kode_Kota Nama_Kota
Dwiky 0219857348 Developer JKT01 JAKARTA
Ilham 0219378474 Developer JKT01 JAKARTA
Wilda 0219374556 Akuntan BDG01 BANDUNG
 

Butuh Web Developer Makassar atau Jasa SEO di Makassar yang bergaransi? Jangan ragu dengan infanthree.com. Kami juga penyedia Jasa Pembuatan Aplikasi Android di Makassar yang terkemuka. Selain itu ada layanan SEM, SMM, Internet Marketing Agency Makassar dan Social Media, Pembuatan Logo, Konten, Video, Maskot dan Instalasi jaringan ataupun mikrotik, hingga pelatihan komputer dan internet marketing.

Recommended Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

WhatsApp chat