Kamis, 13 November 2014

Pemrograman SQL Pertemuan 7 : SUB QUERY dan VIEW


v SUB QUERY
      
     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)
primary key : Kode_Pelanggan


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
Foreign key : kode_barang, Kode_Pelanggan

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


v VIEW

    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
• 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?)



LATIHAN

1. Tampilkan nama barang yang mempunyai stok kurang dari rata-rata


2. Tampilkan pelanggan yang paling besar pembeliannya

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



SOURCE :

Tidak ada komentar:

Posting Komentar