Modul-5.ppt 208KB Feb 13 2010 07:39:46 PM

Praktikum Database
Subquery Lanjutan dan
View
Abdul Kadir

Operator EXISTS
 EXISTS merupakan jenis operator

boolean, yang menghasilkan nilai benar
atau salah
 Bentuk penggunaan:
SELECT nama_kolom
FROM nama_tabel
WHERE EXISTS (subquery);

Operator EXISTS
(lanjiutan…)
 Contoh:

SELECT nip, kode_bag FROM pekerjaan
WHERE EXISTS

(SELECT * FROM bagian
WHERE kode_bag = pekerjaan.kode_bag);

Operator ALL




Operator ALL digunakan untuk melakukan
pembandingan dengan subquery. Kondisi dengan ALL
menghasilkan nilai benar jika jika pembandingan
menghasilkan benar untuk setiap nilai dalam subquery
Contoh untuk memperoleh semua pegawai yang gajinya
lebih rendah daripada semua pegawai di departemen
Akuntansi (kode_bag = ‘3’):
SELECT nip, gaji
FROM pekerjaan
WHERE gaji < ALL
( SELECT gaji
FROM pekerjaan

WHERE kode_bag = '3' );

Subquery dengan Ekspresi CASE


Contoh:
SELECT nip, kode_bag,
CASE
WHEN kode_bag = (SELECT kode_bag
FROM bagian
WHERE nama_bag = 'Produksi')
THEN 'Produksi'
ELSE 'Non-Produksi'
END AS 'produksi?'
FROM pekerjaan;

Subquery pada Klausa SELECT
 Contoh:

SELECT nip, (SELECT nama_bag

FROM bagian
WHERE kode_bag =
pekerjaan.kode_bag)
AS 'nama bagian'
FROM pekerjaan;

Subquery pada ORDER BY
 Contoh:

SELECT nip, nama FROM infoprib
ORDER BY (SELECT kode_bag
FROM pekerjaan
WHERE nip = infoprib.nip);

Subquery Berkorelasi
 Subquery

berkorelasi (correlated
subquery) adalah subquery yang
melibatkan suatu pengacuan ke tabel

yang terdapat pada query induk
 Contoh:
SELECT nip, kode_bag FROM pekerjaan
WHERE NOT EXISTS
(SELECT * FROM bagian
WHERE kode_bag = pekerjaan.kode_bag);

Subquery pada HAVING
 Subquery

juga bisa diletakkan dalam
klausa HAVING
 Contoh:
SELECT kode_bag, SUM(gaji)
FROM pekerjaan p1
GROUP BY kode_bag
HAVING 1 < (SELECT COUNT(*)
FROM pekerjaan p2
WHERE p1.kode_bag = p2.kode_bag);


View
 View

merupakan suatu bentuk
representasi data yang dapat dibuat
dengan melibatkan data yang ada pada
satu atau beberapa tabel
 Dengan menggunakan view,
dimungkinkan untuk membuat hanya
bagian tertentu dalam suatu tabel yang
akan muncul

View
 Sebagai contoh,

suatu view bisa
berupa data NIP
dan kode bagian
tempat pegawai
bekerja, tanpa

melibatkan data
gaji

Membuat View
 Menggunakan CREATE VIEW
 Contoh:

CREATE VIEW info_umum AS
SELECT nip, nama
FROM infoprib;

Memperoleh Informasi dari View
 Contoh:

SELECT * FROM info_umum;

Mengubah View
 Menggunakan ALTER VIEW
 Contoh:


ALTER VIEW info_umum AS
SELECT nip, nama, sex FROM infoprib;

Membuat View dari Sejumlah Tabel
 Contoh:

CREATE VIEW info_peg AS
SELECT infoprib.nip, infoprib.nama,
bagian.nama_bag
FROM infoprib, pekerjaan, bagian
WHERE infoprib.nip = pekerjaan. nip AND
pekerjaan.kode_bag = bagian.kode_bag;

Melihat Daftar View
 Gunakan SHOW TABLES
 Untuk melihat definisi view gunakan

SHOW CREATE VIEW
 Contoh:
SHOW CREATE VIEW info_peg;


Membuat View Pengelompokan
 Contoh:

CREATE VIEW jum_kelamin AS
SELECT sex, COUNT(sex)
FROM infoprib
GROUP BY sex;

Memberi Nama Lain Kolom
 Contoh:
ALTER VIEW jum_kelamin (kelamin, jumlah) AS
SELECT sex, COUNT(sex)
FROM infoprib
GROUP BY sex;



Pemanggilan:
SELECT * FROM jum_kelamin;


Menghapus View
 Perintah: DROP VIEW
 Contoh:

DROP VIEW jum_kelamin;

Latihan
 Buatlah view yang bisa menghasilkan

informasi seperti berikut: