Pemrograman SQL PART VI
1. 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 );
CONTOH…
Jika diketahui
terdapat beberapa table berikut :
1. Tabel_Barang
kode_barang char(6),
nama_barang
varchar(25),
satuan varchar(20) dan
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,kode_barang,kode_pelanggan
Foreign key :
kode_barang, kode_Pelanggan
CONTOH…
Dari ketiga tabel
diatas tampilkan transaksi pembelian yang jumlahnya di atas rata-rata ….??
Penyelesaian …
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 diatas rata-rata.
CONTOH…
1. Tampilkan seluruh
transaksi pembelian (tanggal pembelian dan jumlah pembelian).
SELECT tgl_pembelian,
jum_pembelian FROM pembelian
2. Tampilkan jumlah pembelian rata-rata pada transaksi
pembelian.
SELECT
avg(jum_pembelian) as rata2_pembelian
FROM pembelian
3. Tampilkan transaksi
pembelian yang jumlahnya diatas rata-rata.
SELECT tgl_pembelian,
jum_pembelian
FROMpembelian
WHERE jum_pembelian
> (SELECT avg(jum_pembelian)
FROM pembelian)
2. VIEW
View merupakan tabel
semu, artinya secara fisik data tidak tersimpan dalam basis data, tetapi secara
lojik dapat berfungsi seolah-olah sebagai tabel.
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
Buat view bernama
v_barang yang menampilkan nama barang dan stok barang.
CREATE VIEW v_barang as
SELECT nama_barang,
stok_barang
FROM barang
Tampilkan semua data
yang ada pada view v_barang.
SELECT *from v_barang
Tampilkan nama barang
dari view v_barang.
SELECT nama_barang
from v_barang
Hapuslah view
v_barang.
DROP view v_barang
Tampilkan view
v_barang (apakah yang terjadi?)
SELECT * from v_barang
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
View adalah salah
satu object database, yang secara logika merepresentasikan sub himpunan dari
data yang berasal dari satu atau lebih table.
View
merupakan hasil perintah SELECT yang berupa tabel virtual yang dapat membungkus
query tertentu. View berfungsi untuk mempermudah dalam pengambilan query
tertentu. Dengan view kita dapat menerapkan pembatasan pada pengaksesan guna
pengamanan keamanan data seperti di bawah ini:
- Kolom/Field pada tabel tertentu.
- Baris/Record pada tabel tertentu.
- Field dan Record pada tabel tertentu.
- Turunan dari view lain.
- Record menggunakan operasi join.
- Data statistik dari tabel.
Kegunaan dari view
adalah :
- Membatasi akses database
- Membuat query kompleks secara mudah
- Mengijinkan independensi data
- Untuk menampilkan view (pandangan) data yang berbeda dari data yang sama.
Cara membuat view :
Untuk
membuat view kita dapat menggunakan perintah view dengan format seperti dibawah
ini :
CREATE VIEW view_name[(column_list)] [WITH ENCRYPTION] AS
select_statement [WITH CHECK OPTION]
Keterangan
:
View_name
adalah nama view yang akan dibuat. Column_list mendefinisikan field yang akan
digunakan dalam view. Column_list harus memiliki jumlah field yang sama dengan
yang didefinisikan pada select_statement. Jika column_list tidak ada maka view
dibuat berdasarkan field yang didefinisikan pada select_statement. With
Encryption adalah opsi untuk menambahkan enkripsi pada view. AS berisi perintah
yang digunakan untuk membuat view.
Contoh
:
CREATE VIEW V_ SISWA AS SELECT * FROM SISWA
Cara menampilkan view
:
Untuk menampilkan
atau memanggil view yang sudah kita buat sebelumnya, kita dapat menggunakan
perintah select dengan format seperti dibawah ini :
SELECT * FROM V_PELANGGAN
Cara merubah view :
Untuk merubah view
kita dapat menggunakan perintah alter view dengan format seperti dibawah ini :
ALTER VIEW
view_name[(column_list)] [WITH ENCRYPTION] AS select_statement [WITH CHECK
OPTION]
Contoh :
ALTER VIEW V_SISWA AS
SELECT * FROM SISWA WHERE ALAMAT ='JAKARTA'
Cara menghapus view :
Untuk menghapus view
kita dapat menggunakan perintah drop view dengan format seperti dibawah ini :
DROP VIEW view_name
Contoh :
DROP VIEW V_PELANGGAN
0 komentar: