Anda di halaman 1dari 9

LAPORAN PRAKTIKUM PEMROGRAMAN BASIS DATA

PERTEMUAN PRAKTIKUM KE-[3]

Dosen: [Nopi Prisma Yunita, M.Kom ]

[Laili Aulia Fitri]


[21.11.4329]

PROGRAM STUDI S1 INFORMATIKA, FAKULTAS ILMU KOMPUTER


UNIVERSITAS AMIKOM YOGYAKARTA
2023
[Praktikum
Meet 3 – Data Retrieval with Subquery
]
____________________________________________________________
1. Tampilkan jumlah customer yang pernah melakukan pembelian barang
Jawab:

SELECT COUNT(customer_id) as cust_amount from customers WHERE customer_id


IN (SELECT customer_id FROM purchases)

(Tampilkan jumlah customer yg melakukan pembelian barang)

(menampilkan jumlah customer yang pernah membeli barang pad atabel customers)

2. Tampilkan data customer yang belum pernah melakukan transaksi pembelian barang

SELECT * FROM customers WHERE customer_id NOT IN (SELECT


customer_id FROM purchases)
(Tampilkan data customer yang belum pernah transaksi barang)

(menampilkan dat cutomer yang belum melakukan transaksi barang dengan select* NOT IN
“tidak pernah masuk transaksi”)

3. Tampilkan data supplier yang pernah memasok barang

SELECT * FROM suppliers WHERE supplier_id in (SELECT supplier_id FROM


items)

(Tampilkan data supplier)

(untuk emanmpilkan data supplier yang pernah memasuk kan barang pada table suppilers
dengan perintah SELECT * FROM table tujuan WHERE FROM)

4. Buktikan soal nomor 3 benar. Lakukan pembuktian dengan melakukan SELECT statement
terhadap salah satu baris data yang muncul pada result-set soal nomor 3. Misalnya id
supplier SUP-000001 pernah men-supply item, berapa item yang pernah di-supply?
SELECT * FROM items WHERE item_id NOT in (SELECT item_id from
categories)

(tampilan suppier SUP-000001)


(untuk membuktikan bahwa pada sup-000001 pernah mensuplly items pada table items)

5. Tampilkan kategori barang yang belum terdaftar di table items

SELECT * FROM categories WHERE category_id not in (SELECT


category_id FROM items)

(tampilan kategori yang belum terdaftra ditabel item)


(untuk menampilkan kategori barang yang belum terdaftar pada table items dengan perintah
SELECT* FROM table tujuan WHERE )
6. Buktikan soal no 5 benar, bahwa katagori barang "Otomotif" belum tersedia pada tabel
items

SELECT * FROM `items` WHERE category_id = 'CG-013'

(menampilkan kategori otomotif)


(membuktikan pada no 5 bahwa kategori barang “otomotif ” belum tersedia di table items dengan
perintah SELECT* FROM table tujuan WHERE category id yang di tuju)

7. Eksekusi 2 buah sintaks berikut. Lakukan analisa terhadap result-set kemudian berikan
pendapat anda, kenapa sintaks 1 dan 2 menghasilkan keluaran yang berbeda!

Sintaks 1 : SELECT * FROM customers WHERE customer_id IN (SELECT


customer_id FROM purchases)

Sintaks 2 : SELECT * FROM customers WHERE EXISTS (SELECT customer_id


FROM purchases)
()
(IN mengembalikan baris jika nilai tabel. DI MANA kolom yang sesuai dengan daftar
nilai-nilai IN. IN biasanya digunakan sebagai bagian dari kueri utama atau bersama
dengan subkueri

EXISTS hanya digunakan bersama dengan subkueri. Baris yang dikembalikan


ditentukan dengan memfilter pada tingkat kueri utam a )

8. Eksekusi 2 sintaks berikut. Lakukan analisa terhadap output mengapa sintaks 1


mengembalikan error message, sedangkan sintaks 2 tidak, jelaskan!
Sintaks 1 : SELECT * FROM suppliers WHERE supplier_id = (SELECT
supplier_id FROM items) Sintaks 2 : SELECT * FROM suppliers WHERE
supplier_id IN (SELECT supplier_id FROM items)
()
(sintak pertama terjadi error karena pada operatornya menggunakan = (sama dengan))

9. Buat sebuah DELETE statement dengan subquery untuk menghapus data customer yang tidak
pernah melakukan membelian

DELETE FROM customers WHERE customer_id NOT IN (SELECT customer_id FROM


purchases);

(menampilkan delete statement yang tidak pernah melakukan pembelian)


(pada tahap ini untuk mengapus data customers yang tidak pernah melakukan pembelian
dengan perintah DELETE FROM table tujuan WHERE NOT IN (tidak pernag masuk))

Anda mungkin juga menyukai