Pernah gak kamu ngalamin harus menampilkan jumlah data dari dua tabel yang berbeda? kalau pernah mungkin subquery dan fungsi pada mysql bisa menjadi solusi nya.
Sebelum memulai mari kita bahas satu persatu tentang apa itu subquery, fungsi mysql dan alias.
Subquery adalah sebuah query yang berada di dalam query atau bisa dibilang juga select on select.
Baca Juga : Belajar Query Dasar Mysql
Fungsi MySQL adalah fungsi yang terdapat pada query mysql, namun kali ini saya tidak akan membahas semua fungsi di mysql. Saya hanya akan membahas beberapa fungsi numeric saja.
Alias pada MySQL berfungsi sebagai penamaan field dari subquery.
Sekarang kita mulai saja tutorial tentang apa yang sudah saya jelaskan di atas.
SELECT barang.barang_id, barang.barang_nama,
(SELECT SUM(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS Jml_terbeli
from barang
hasil dari query di atas akan menjumlahkan field trx_qty pada tabel trasaksid dengan alias jml_terbeli
SELECT barang.barang_id, barang.barang_nama,
(SELECT COUNT(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS jml_transaksi
from barang
hasil dari query di atas akan menghitung jumlah transaksi yang ada dan di kelompokan berdasarkan barang
SELECT barang.barang_id, barang.barang_nama,
(SELECT COUNT(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS jml_transaksi,
(SELECT SUM(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS jml_pembelian,
(SELECT jml_pembelian DIV jml_transaksi) AS ratarata
from barang
hasil dari query di atas adalah gabungan dari dua query di atas dan dan menambahkan fungsi div untuk mengambil rata rata dari jumlah barang yang di beli per transaksi
SELECT barang.barang_id, barang.barang_nama,
(SELECT COUNT(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS jml_transaksi,
(SELECT SUM(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS jml_pembelian,
(SELECT jml_pembelian DIV jml_transaksi) AS ratarata,
(SELECT MAX(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS Terbanyak,
(SELECT MIN(trasaksid.trx_qty) FROM trasaksid WHERE trasaksid.barang_id = barang.barang_id) AS Tersedikit
from barang
hasil dari query di atas adalah gabungan dari dua query di atas dan dan menambahkan fungsi max dan min untuk mengambil jumlah pembelian terbanyak dan tersedikit pada sebuah transaksi
Demikianlah pembahasan saya pada tutoral kali ini semoga saja dapat membantu memahami tentang subquery, alias dan fungsi pada MySQL.