Anda di halaman 1dari 2

TUGAS SQL TINGKAT LANJUT

RESUME OPERATOR MULTIPLE ROW SUBQUERY

Soal-soal berikut menggunakan data-data pada tabel-tabel di bawah ini:

Tabel: toko Tabel: pengiriman


kode_toko nama_toko alamat kode_toko kode_brg tgl_kirim jumlah
T001 Kurnia Komputer Banyuwangi T002 HW2 2013-01-03 50
T002 Jaya Elektronik Muncar T002 SW1 2013-01-03 10
T003 Sigit Komputer Purwoharjo T001 HW2 2013-01-05 70
T004 Ijen Komputer Banyuwangi T001 HW1 2013-01-17 5
T005 Anugerah Elektronik Banyuwangi T002 SW4 2013-01-25 10
T006 Berkah Elektronik Muncar T001 HW2 2013-01-03 10
T003 HW2 2013-01-03 15
Tabel: produk
kode_brg nama_brg
HW1 Motherboard ASUS
HW2 RAM V-Gen
HW3 VGA Card ATI Radeon
SW1 Ms. Office 2007
SW2 Adobe Photoshop CS 5

1. a. Jalankan query berikut ini dan catat data apa saja yang diperoleh!
SELECT DISTINCT kode_brg
FROM pengiriman;

b. Jalankan query berikut ini dan catat data apa saja yang diperoleh!
SELECT * FROM produk
WHERE kode_brg IN
(SELECT DISTINCT kode_brg
FROM pengiriman);

c. Jelaskan kegunaan operator IN pada pada multiple row subquery dengan memperhatikan
atau menghubungkan hasil query pada langkah (b) dengan hasil query pada langkah (a), ju-
ga dengan data-data yang ada pada tabel produk!

2. a. Jalankan query berikut ini dan catat data apa saja yang diperoleh!
SELECT jumlah FROM pengiriman
WHERE kode_toko = 'T002';

b. Jalankan query berikut ini dan catat data apa saja yang diperoleh!
SELECT * FROM pengiriman
WHERE jumlah < ANY
(SELECT jumlah FROM pengiriman
WHERE kode_toko = 'T002');

c. Mengapa hanya data yang memiliki jumlah 5, 10, atau 15 saja yang dihasilkan oleh query
pada langkah (b)?

d. Ubahlah operator kurang dari (<) pada query di langkah (b) dengan operator lebih dari (>),
kemudian jalankan query-nya dan catat hasil yang diperoleh!
SELECT * FROM pengiriman
WHERE jumlah > ANY
(SELECT jumlah FROM pengiriman
WHERE kode_toko = 'T002');

e. Mengapa hanya data yang memiliki jumlah 15, 50, atau 70 saja yang dihasilkan oleh query
pada langkah (d)?

f. Lalu bagaimana jika operator tadi diganti dengan operator kurang dari atau sama dengan
(<=) atau operator lebih drai atau sama dengan (>=)?

g. Buatlah kesimpulan mengenai kegunaan operator ANY pada multiple row subquery dengan
merujuk kepada hasil query langkah (b), (d), dan (f)!

h. Ganti operator ANY pada query-query di atas dengan operator ALL dan jalankan kembali
query-query tersebut! Bandingkan hasil query yang menggunakan operator ALL dengan
query yang menggunakan operator ANY!

i. Buatlah kesimpulan mengenai kegunaan operator ALL pada multiple row subquery dengan
merujuk kepada hasil perbandingan antara hasil query yang menggunakan operator ALL
dengan query yang menggunakan operator ANY!

Anda mungkin juga menyukai