Praktikum Database
Praktikum Database
Subquery Lanjutan dan
Subquery Lanjutan dan
View
View
Operator EXISTS
Operator EXISTS
EXISTS merupakan jenis operator
EXISTS merupakan jenis operator
boolean
boolean
, yang menghasilkan nilai benar
, yang menghasilkan nilai benar
atau salah
atau salah
Bentuk penggunaan:
Bentuk penggunaan:
SELECT
SELECT nama_kolom nama_kolom
FROM
FROM nama_tabel nama_tabel
WHERE EXISTS
Operator EXISTS
Operator EXISTS
(lanjiutan…)
(lanjiutan…)
Contoh:
Contoh:
SELECT nip, kode_bag FROM pekerjaan
SELECT nip, kode_bag FROM pekerjaan
WHERE EXISTS
WHERE EXISTS
(SELECT * FROM bagian(SELECT * FROM bagian
Operator ALL
Operator ALL
Operator ALL digunakan untuk melakukan Operator ALL digunakan untuk melakukan
pembandingan dengan
pembandingan dengan subquerysubquery. Kondisi dengan ALL . Kondisi dengan ALL menghasilkan nilai benar jika jika pembandingan
menghasilkan nilai benar jika jika pembandingan menghasilkan benar untuk setiap nilai dalam
menghasilkan benar untuk setiap nilai dalam subquerysubquery
Contoh untuk memperoleh semua pegawai yang gajinya Contoh untuk memperoleh semua pegawai yang gajinya
lebih rendah daripada semua pegawai di departemen lebih rendah daripada semua pegawai di departemen Akuntansi (
Akuntansi (kode_bagkode_bag = ‘3’): = ‘3’):
SELECT nip, gaji SELECT nip, gaji FROM pekerjaan FROM pekerjaan WHERE gaji < ALL WHERE gaji < ALL
( SELECT gaji( SELECT gaji
FROM pekerjaanFROM pekerjaan
Subquery dengan Ekspresi CASE
Subquery dengan Ekspresi CASE
Contoh:Contoh:
SELECT nip, kode_bag, SELECT nip, kode_bag, CASE
CASE
WHEN kode_bag = (SELECT kode_bag WHEN kode_bag = (SELECT kode_bag
FROM bagianFROM bagian
WHERE nama_bag = 'Produksi')WHERE nama_bag = 'Produksi') THEN 'Produksi'
THEN 'Produksi'
Subquery pada Klausa SELECT
Subquery pada Klausa SELECT
Contoh:
Contoh:
SELECT nip, (SELECT nama_bag
SELECT nip, (SELECT nama_bag
FROM bagianFROM bagian
WHERE kode_bag = WHERE kode_bag = pekerjaan.kode_bag)
pekerjaan.kode_bag)
AS 'nama bagian'AS 'nama bagian' FROM pekerjaan;
Subquery pada ORDER BY
Subquery pada ORDER BY
Contoh:
Contoh:
SELECT nip, nama FROM infoprib
SELECT nip, nama FROM infoprib
ORDER BY (SELECT kode_bag
ORDER BY (SELECT kode_bag
FROM pekerjaanFROM pekerjaan
Subquery Berkorelasi
Subquery Berkorelasi
Subquery
Subquery
berkorelasi (
berkorelasi (
correlated
correlated
subquery
subquery
) adalah
) adalah
subquery
subquery
yang
yang
melibatkan suatu pengacuan ke tabel
melibatkan suatu pengacuan ke tabel
yang terdapat pada
yang terdapat pada
query
query
induk
induk
Contoh:
Contoh:
SELECT nip, kode_bag FROM pekerjaan
SELECT nip, kode_bag FROM pekerjaan
WHERE NOT EXISTS
WHERE NOT EXISTS
(SELECT * FROM bagian(SELECT * FROM bagian
Subquery pada HAVING
Subquery pada HAVING
Subquery
Subquery
juga bisa diletakkan dalam
juga bisa diletakkan dalam
klausa HAVING
klausa HAVING
Contoh:
Contoh:
SELECT kode_bag, SUM(gaji)
SELECT kode_bag, SUM(gaji)
FROM pekerjaan p1
FROM pekerjaan p1
GROUP BY kode_bag
GROUP BY kode_bag
HAVING 1 < (SELECT COUNT(*)
HAVING 1 < (SELECT COUNT(*)
FROM pekerjaan p2FROM pekerjaan p2
View
View
View
View
merupakan suatu bentuk
merupakan suatu bentuk
representasi data yang dapat dibuat
representasi data yang dapat dibuat
dengan melibatkan data yang ada pada
dengan melibatkan data yang ada pada
satu atau beberapa tabel
satu atau beberapa tabel
Dengan menggunakan
Dengan menggunakan
view
view
,
,
dimungkinkan untuk membuat hanya
dimungkinkan untuk membuat hanya
bagian tertentu dalam suatu tabel yang
bagian tertentu dalam suatu tabel yang
View
View
Sebagai contoh,
Sebagai contoh,
suatu
suatu
view
view
bisa
bisa
berupa data NIP
berupa data NIP
dan kode bagian
dan kode bagian
tempat pegawai
tempat pegawai
bekerja, tanpa
bekerja, tanpa
melibatkan data
melibatkan data
Membuat View
Membuat View
Menggunakan CREATE VIEW
Menggunakan CREATE VIEW
Contoh:
Contoh:
CREATE VIEW info_umum AS
CREATE VIEW info_umum AS
SELECT nip, nama
SELECT nip, nama
FROM infoprib;
Memperoleh Informasi dari View
Memperoleh Informasi dari View
Contoh:
Contoh:
SELECT * FROM info_umum;
Mengubah View
Mengubah View
Menggunakan ALTER VIEW
Menggunakan ALTER VIEW
Contoh:
Contoh:
ALTER VIEW info_umum AS
ALTER VIEW info_umum AS
SELECT nip, nama, sex FROM infoprib;
Membuat View dari Sejumlah Tabel
Membuat View dari Sejumlah Tabel
Contoh:
Contoh:
CREATE VIEW info_peg AS
CREATE VIEW info_peg AS
SELECT infoprib.nip, infoprib.nama,
SELECT infoprib.nip, infoprib.nama,
bagian.nama_bagbagian.nama_bag
FROM infoprib, pekerjaan, bagian
FROM infoprib, pekerjaan, bagian
WHERE infoprib.nip = pekerjaan. nip AND
WHERE infoprib.nip = pekerjaan. nip AND
Melihat Daftar View
Melihat Daftar View
Gunakan SHOW TABLES
Gunakan SHOW TABLES
Untuk melihat definisi view gunakan
Untuk melihat definisi view gunakan
SHOW CREATE VIEW
SHOW CREATE VIEW
Contoh:
Contoh:
SHOW CREATE VIEW info_peg;
Membuat View Pengelompokan
Membuat View Pengelompokan
Contoh:
Contoh:
CREATE VIEW jum_kelamin AS
CREATE VIEW jum_kelamin AS
SELECT sex, COUNT(sex)
SELECT sex, COUNT(sex)
FROM infoprib
FROM infoprib
GROUP BY sex;
Memberi Nama Lain Kolom
Memberi Nama Lain Kolom
Contoh:
Contoh:
ALTER VIEW jum_kelamin (kelamin, jumlah) AS
ALTER VIEW jum_kelamin (kelamin, jumlah) AS
SELECT sex, COUNT(sex)
SELECT sex, COUNT(sex)
FROM infoprib
FROM infoprib
GROUP BY sex;
GROUP BY sex;
Pemanggilan:Pemanggilan:
SELECT * FROM jum_kelamin;
Menghapus View
Menghapus View
Perintah: DROP VIEW
Perintah: DROP VIEW
Contoh:
Contoh:
DROP VIEW jum_kelamin;
Latihan
Latihan
Buatlah view yang bisa menghasilkan
Buatlah view yang bisa menghasilkan