Pengertian dan Contoh SUBQUERY pada MYSQL / ORACLE
Subquery merupakan suatu query seperti halnya query biasa yang berjalan di dalam query induk / master. Sub query dapat digunakan untuk mengambil suatu data di field / kolom pada tabel lain. Misalnya kita memiliki 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 memiliki 2 tabel, Tabel 1 diberi nama Identitas dan Tabel 2 diberi nama Data_Kota
Kemudian kita ingin menampilkan Nama Kota pada Tabel 1. Sedangkan Tabel 1 tidak memiliki kolom "Nama_Kota", untuk itu kita dapat menggunakan Subquery untuk menampilkan Kolom Nama Kota.
Berikut ini Querynya :
SELECT Nama, No_Telp, Pekerjaan, Kode_Kota, (SELECT T2.Nama_Kota FROM Data_Kota T2 WHERE T1.Kode_Kota = T2.Kode_Kota) AS Nama_Kota FROM Identitas T1;
Subquery yang dimaksud pada Query diatas yaitu :
(SELECT T2.Nama_Kota FROM Data_Kota T2 WHERE T1.Kode_Kota = T2.Kode_Kota) AS Nama_Kota
T1 Merupakan Alias untuk Tabel Identitas dan T2 merupakan Alias untuk tabel Data_Kota
Alias tersebut digunakan untuk mempermudah menuliskan nama tabel. Selain itu pada tabel 1 dan tabel 2 terdapat nama kolom/field yang sama dan keduanya dipanggil bersamaan pada satu query sehingga jika tidak memakai Alias, maka sistem database tidak mengetahui yang mana kolom/field milik Tabel 1 dan kolom/field milik Tabel 2.
Mari kita bahas satu persatu maksud dari sub query 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 mana Kode_Kota pada tabel 1(Identitas) sama dengan Kode_Kota pada tabel 2(Data_Kota)
AS Nama_Kota
Yang hasil dari querynya diberi nama kolom Nama_Kota
Query tersebut ada di dalam query :
SELECT Nama, No_Telp, Pekerjaan, Kode_Kota, (XXXXXXXXX) FROM Identitas T1;
Jika dijalankan maka hasil yang di dapat yaitu :
Nama | No_Telp | pekerjaan | Kode_Kota | Nama_Kota |
Dwiky | 0219857348 | Developer | JKT01 | JAKARTA |
Ilham | 0219378474 | Developer | JKT01 | JAKARTA |
Wilda | 0219374556 | Akuntan | BDG01 | BANDUNG |
Apabila anda baru mempelajari perintah query, untuk lebih memudahkan ada baiknya anda membaca terlebih dahulu Pengertian DDL, DML dan SQL.
Comments
Post a Comment
Silahkan Komentar jika ada pertanyaan atau ingin menambahkan artikel kami, komentar yang anda submit tidak akan langsung muncul karena akan kami moderasi dulu.
silahkan tunggu komentar anda muncul dan balasan dari kami