v SUB QUERY
Sub query adalah query di dalam query, artinya seleksi data berdasarkan dari hasil seleksi data yang telah ada.
Sub query adalah query di dalam query, artinya seleksi data berdasarkan dari hasil seleksi data yang telah ada.
SELECT field-1, …, field-n
FROM tabel
WHERE kriteria (SELECT field-1,…,field-n
FROM tabel
WHERE
kriteria);
Kegunaan-kegunaan Sub query dalam memanipulasi data :
· Meng-copy data dari satu tabel ke tabel lain
· Menerima data dari inline view
· Mengambil data dari tabel lain untuk kemudian di update ke tabel yang dituju
· Menghapus baris dari satu tabel berdasarkan baris dari tabel lain
Contoh :
Jika diketahui terdapat beberapa tabel berikut :
1. Tabel Barang
kode_barang char(6),
nama_barang varchar(25),
satuan varchar(20),
stok int
primary key : kode_barang
2. Tabel Pelanggan
Kode_Pelanggan char(6),
Nama varchar(30),
Alamat varchar(30),
kota varchar(15),
Telepon varchar(15)
3. Tabel Pembelian
kode_pembelian char(10),
kode_barang char(6),
Kode_Pelanggan char(6),
tgl_pembelian datetime,
jum_pembelian int
Primary key : kode_pembelian
Dari ketiga tabel di atas, tampilkan transaksi pembelian
yang jumlahnya di atas rata-rata?
1. Tampilkan
seluruh transaksi pembelian (tanggal pembelian dan jumlah pembelian)
2. Tampilkan
jumlah pembelian rata-rata pada transaksi pembelian
3. Tampilkan
transaksi pembelian yang jumlahnya di atas rata-rata
View merupakan tabel semu, artinya secara fisik data tidak tersimpan dalam basis data, tetapi secara logika dapat berfungsi seolah-olah sebagai tabel. View adalah tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau view lain. View tidak memiliki data sendiri, tetapi data-datanya berasal dari tabel-tabel atau view lain. View dibuat atau dibangun dengan SELECT statement. Di dalam query SELECT tersebut bisa ditambahkan ORDER BY statement untuk mengurutkan data atau tidak sama sekali. View dapat digunakan untuk memudahkan atau menyederhanakan data yang ditampilkan, mencegah menampilkan data yang penting dengan menyembunyikan nama kolomnya.
CREATE VIEW nama_view AS
SELECT field-1, …, field-n, aggregate function
FROM tabel-1, …, tabel-n
WHERE kriteria
GROUP BY field-1, …, field-n
HAVING kriteria_aggregate_function
ORDER BY field
Kegunaan dari View :
• Membatasi akses database
• Menyembunyikan kolom atau baris
· Menampilkan hasil dari penghitungan
• Menyembunyikan kolom atau baris
· Menampilkan hasil dari penghitungan
• Membuat query kompleks secara mudah
• Mengijinkan independensi data
• Untuk menampilkan view (pandangan) data yang berbeda dari data yang sama.
Contoh :
Ø Buat view bernama v_barang yang menampilkan nama barang dan stok barang
Ø Tampilkan semua data yang ada pada view v_barang
Ø Tampilkan nama barang dari view v_barang
Ø Hapuslah view v_barang
Ø Tampilkan view v_barang (apakah yang terjadi?)
Contoh :
Ø Buat view bernama v_barang yang menampilkan nama barang dan stok barang
Ø Tampilkan semua data yang ada pada view v_barang
Ø Tampilkan nama barang dari view v_barang
Ø Hapuslah view v_barang
Ø Tampilkan view v_barang (apakah yang terjadi?)
LATIHAN
3. Buatlah view dengan nama V_PELANGGAN yang menampilkan nama pelanggan, alamat dan telepon. Pelanggan yang ditampilkan adalah yang berasal dari kota Jakarta
4. Buatlah view V_PLGN_BELI yang menampilkan jumlah pembelian per pelanggan untuk tanggal tertentu. Field yang ditampilkan adalah nama pelanggan jumlah pembelian, tanggal pembelian. Tampilkan semua data yang ada pada view V_PLGN_BELI
5. Buatlah view V_JUM_BELI yang menampilkan jumlah beli per barang per pelanggan per tanggal tertentu. Field yang ditampilkan adalah nama barang, nama pelanggan, tanggal pembelian, dan jumlah pembelian. Tampilkan semua data yang ada pada view V_JUM_BELI
4. Buatlah view V_PLGN_BELI yang menampilkan jumlah pembelian per pelanggan untuk tanggal tertentu. Field yang ditampilkan adalah nama pelanggan jumlah pembelian, tanggal pembelian. Tampilkan semua data yang ada pada view V_PLGN_BELI
5. Buatlah view V_JUM_BELI yang menampilkan jumlah beli per barang per pelanggan per tanggal tertentu. Field yang ditampilkan adalah nama barang, nama pelanggan, tanggal pembelian, dan jumlah pembelian. Tampilkan semua data yang ada pada view V_JUM_BELI
SOURCE :
Tidak ada komentar:
Posting Komentar