Pengertian dan Contoh SUBQUERY pada MYSQL / ORACLE
DAFTAR ISI

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.

Baca Juga:  Pengertian Qbasic dan Cara Menjalankannya

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
 

Ebook Gratis!!

Subscribe untuk dapatkan e-book GRATIS dan informasi teknologi terbaru dan diskon menarik langsung di Email-mu

Infanthree Digital Administrator
Infanthree Digital Administrator
Website, Mobile Apps, IoT, Digital Marketing Agency, IT Konsultan
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
WhatsApp chat