Query dalam Query adalah suatu teknik dalam database untuk
mendapatkan data yang lebih spesifik dari query yang sebelumnya. Pada
implementasinya teknik ini sangat mudah, tidak membutuhkan teknik logika
yang sulit. Dalam teknik ini yang perlu diperhatikan hanya query yang
kita query lagi harus diberikan alias.
Teknik ini biasanya digunakan untuk menampilkan data yang jenisnya komplek. Teknik ini sebenarnya sama seperti melakukan query pada suatu view.
Contoh:
Select a.* from barang as a, kelompokbarang as b where a.kodekel=b.kodekel;
select * from (Select a.* from barang as a, kelompokbarang as b where a.kodekel=b.kodekel) as c where kodebrg='111111';
Query yang kita query lagi harus diberikan alias.
Pada database Microsoft Access, teknik ini leluasa dapat dilakukan, sedangkan pada MySQL, teknik ini dapat dilakukan mulai versi 5.x.
Dalam pengkolaborasian dengan coding program, teknik ini sangat mudah dilakukan, namun jika data yang diquery besar, akan menimbulkan masalah kelambatan.
Contoh implementasi pada program yang dibuat untuk menampilkan data statistik penjualan.
Teknik ini biasanya digunakan untuk menampilkan data yang jenisnya komplek. Teknik ini sebenarnya sama seperti melakukan query pada suatu view.
Contoh:
Select a.* from barang as a, kelompokbarang as b where a.kodekel=b.kodekel;
select * from (Select a.* from barang as a, kelompokbarang as b where a.kodekel=b.kodekel) as c where kodebrg='111111';
Query yang kita query lagi harus diberikan alias.
Pada database Microsoft Access, teknik ini leluasa dapat dilakukan, sedangkan pada MySQL, teknik ini dapat dilakukan mulai versi 5.x.
Dalam pengkolaborasian dengan coding program, teknik ini sangat mudah dilakukan, namun jika data yang diquery besar, akan menimbulkan masalah kelambatan.
Contoh implementasi pada program yang dibuat untuk menampilkan data statistik penjualan.
select * ,khargajual-ktotaldisc as khargajualnet, khargabeli-rhargabeli as khargabeliretur,rhargajual-rtotaldisc as rhargajualnet,kqty-rqty as kqtyretur, khargajual-khargabeli as kprofit, (khargajual-khargabeli) * 100/khargabeli as kpersen,(khargajual-rhargajual)-(khargabeli-rhargabeli) as kprofitretur, ((khargajual-rhargajual)-(khargabeli-rhargabeli)) * 100/(khargabeli-rhargabeli) as kpersenretur,(khargajual-ktotaldisc) - (rhargajual-rtotaldisc) as khargajualnetretur, (khargajual-ktotaldisc)-khargabeli as kprofitnet,((khargajual-ktotaldisc)-khargabeli) * 100/khargabeli as kpersennet,((khargajual-ktotaldisc)-(rhargajual-rtotaldisc))-(khargabeli-rhargabeli) as kprofitnetretur,(((khargajual-ktotaldisc)-(rhargajual-rtotaldisc))-(khargabeli-rhargabeli)) * 100/(khargabeli-rhargabeli) as kpersennetretur from (select kodebrg,namabrg,namal1, namal2, namal3, if(isnull(akhir)=true,0,akhir) as akhir,kkodebrg ,if(isnull(kqty)=true,0,kqty) as kqty,if(isnull(khargajual)=true,0,khargajual) as khargajual,if(isnull(ktotaldis
c)=true,0,ktotaldisc) as ktotaldisc, if(isnull(khargabeli)=true,0,khargabeli) as khargabeli,rkodebrg,if(isnull(rqty)=true,0,rqty) as rqty,if(isnull(rhargabeli)=true,0,rhargabeli) as rhargabeli,if(isnull(rtotaldisc)=true,0,rtotaldisc) as rtotaldisc, if(isnull(rhargajual)=true,0,rhargajual) as rhargajual from tempbarangs as a left join tempJualS as b on a.kodebrg=b.kkodebrg left join tempReturS as c on a.kodebrg=c.rkodebrg) as final