Teknik Informatika

Sabtu, 23 Maret 2013

Jawaban Soal Database SQL - PRAKTIKUM Aggregate Function

0 komentar
Jawaban Soal Database SQL - PRAKTIKUM Aggregate Function  

menggunakan Microsoft SQL Server 2005
database bisa download disini
Soal : Latihan Soal SQL lengkap dg Database - Agreegate Function

--1. Kelompokkan golongan_id ditabel barang sehingga
--menghasilkan output sepert ini :
select golongan_id from barang group by golongan_id

--2. Supplier siapa saja yang pernah memasok barang ?
select supplier_id from barang group by supplier_id


--3. Berada diwilayah mana saja alamat customer ?
--(gunakan tabel CUSTOMER) sehingga menghasilkan output sepert ini
select wilayah_id from customer group by wilayah_id

--4. Tanggal berapa saja terjadinya transaksi pembelian ?
select tanggal from jual group by tanggal

--5. Urutkan tanggal transaksi pembelian tersebut dimulai dari tanggal terbesar.
select tanggal from jual group by tanggal order by  tanggal desc

--6. Hitung jumlah stok barang untuk setiap golongan barang pada soal no 1 ,
--sehingga menghasilkan output seperti ini
SELECT GOLONGAN_ID, SUM(STOK) FROM BARANG GROUP BY GOLONGAN_ID

--Bagaimana pembuktiannya ?  buktikan dengan mengambil sample data yang sedikit.
SELECT * FROM BARANG WHERE GOLONGAN_ID = '2ND'

--7. Hitung untuk setiap supplier pada soal no 2,
--berapa jenis item barang yang pernah dipasok?
SELECT SUPPLIER_ID, COUNT(SUPPLIER_ID) FROM BARANG GROUP BY SUPPLIER_ID
--Bagaimana pembuktiannya ?  buktikan dengan mengambil sample data yang sedikit.
SELECT * FROM BARANG WHERE SUPPLIER_ID = '0987654321'

--8. Ada berapa jumlah customer pada soal no 3 yang berada dimasing-masing wilayah ?
SELECT WILAYAH_ID, COUNT(WILAYAH_ID) FROM CUSTOMER GROUP BY WILAYAH_ID
--Bagaimana pembuktiannya ?
SELECT * FROM CUSTOMER WHERE WILAYAH_ID = 'KLT'

--9.Untuk setiap tanggal pembelian, telah terjadi transaksi berapa kali
--dan urutkan mulai dari tanggal yang jumlah transaksi terbesar.
SELECT TANGGAL, COUNT(TANGGAL) FROM JUAL GROUP BY TANGGAL ORDER BY COUNT(TANGGAL) DESC
--Bagaimana pembuktiannya ?
SELECT * FROM JUAL WHERE TANGGAL = '2011-06-19'

--10. Berapa total jumlah penjualan barang ?
SELECT SUM(HARGA_JUAL * JUMLAH) AS TOTAL_HARGA_JUAL FROM ITEM_JUAL

--11. Berapa total jumlah penjualan barang untuk setiap nota?

SELECT NOTA, SUM(HARGA_JUAL) FROM ITEM_JUAL GROUP BY NOTA
--Bagaimana pembuktiannya ?
SELECT * FROM ITEM_JUAL WHERE NOTA = '011001750'

--12. Berapa rata-rata penjualan barang ?
SELECT AVG(HARGA_JUAL * JUMLAH) AS RATA_RATA FROM ITEM_JUAL

--13. Tampilkan harga jual tertinggi ?
SELECT MAX(HARGA_JUAL) FROM ITEM_JUAL

--14. Tampilkan harga jual terendah ?
SELECT MIN(HARGA_JUAL) AS HARGA_TERENDAH FROM ITEM_JUAL

--15. Urutkan total jumlah penjualan barang terbesar setiap nota 5 teratas.
SELECT TOP 5 NOTA, SUM(HARGA_JUAL * JUMLAH)AS JUMLAH FROM ITEM_JUAL GROUP BY NOTA ORDER BY SUM(HARGA_JUAL * JUMLAH) DESC
SELECT * FROM ITEM_JUAL

--16. Urutkan total jumlah penjualan barang terbesar setiap nota 5 terbawah
SELECT TOP 5 NOTA, SUM(HARGA_JUAL * JUMLAH)AS JUMLAH FROM ITEM_JUAL GROUP BY NOTA ORDER BY SUM(HARGA_JUAL * JUMLAH) ASC

--17. Menampilkan 5 orang salesman dengan transaksi penjualan tertinggi.
SELECT * FROM JUAL
SELECT TOP 5 SALESMAN_ID,COUNT(NOTA) AS PENJUALAN FROM JUAL GROUP BY SALESMAN_ID ORDER BY PENJUALAN DESC

--18. Menampilkan jumlah transaksi per tanggal, antara tanggal 21 Des 2010
--sampai 22 Jan 2011 yang jumlah transaksi per harinya lebih dari 7x.
SELECT * FROM JUAL
SELECT TANGGAL , COUNT (NOTA) FROM JUAL where tanggal between '2010-12-21' and '2011-01-22'GROUP BY TANGGAL HAVING COUNT(NOTA)>7

--19 Menampilkan salesman dengan transaksi penjualan diatas 100x.
SELECT SALESMAN_ID, COUNT(*) AS TRANSAKSI FROM JUAL
GROUP BY SALESMAN_ID
HAVING COUNT(*)>100

--20.Menampilkan kode barang yang jumlah terjualnya diatas 300
SELECT BARANG_ID, SUM(JUMLAH) AS TERJUAL FROM ITEM_JUAL
GROUP BY BARANG_ID
HAVING SUM(JUMLAH) > 300

-- 21. Menampilkan laba per nota.
SELECT NOTA, SUM(JUMLAH*HARGA_JUAL)- SUM(JUMLAH*HARGA_BELI)
AS LABA FROM ITEM_JUAL GROUP BY NOTA
SELECT*FROM iTEM_jUAL

Leave a Reply