VERSION 1.
0
FEBRUARI,2021
DESAIN DATABASE
MODUL 4: SUB QUERY, VIEW
TIM PENYUSUN:
- BRIANSYAH SETIO WIYONO, [Link]., [Link]
- ANDI SHAFIRA DYAH K.
- ANNISA FITRIA NURJANNAH
PRESENTED BY: LABORATORIUM INFORMATIKA
UNIVERSITAS MUHAMMADIYAH MALANG
Laboratorium Teknik Informatika
DESAIN DATABASE
CAPAIAN PEMBELAJARAN MATA KULIAH
Diharapkan seletah mengerjakan modul ini, praktikan mampu untuk memahami klausa sub query, view
SUB CAPAIAN PEMBELAJARAN MATA KULIAH
Praktikan mampu mengimplementasikan subquery, view
KEBUTUHAN HARDWARE & SOFTWARE
1. Oracle Database 11g Release 2 Express Edition/versi yang lain
2. HR Schema
MATERI POKOK
1. Subquery
2. View
MATERI PRAKTIKUM
SUB QUERY/NESTED QUERY
Subquery, inner query, atau nested query adalah sebuah query yang berada di dalam query SQL lain.
Subquery biasanya di gunakan untuk mengembalikan/return data yang akan digunakan pada main
query sebagai sebuah kondisi data yang akan di tampilkan nantinya.
Subquery dapat digunakan pada statement SELECT, INSERT, UPDATE, dan DELETE bersamaan dengan
operator-operator di dalam query, seperti =, =, <, >, >=, <=, IN, BETWEEN, dan operator lainnya.
Ada beberapa aturan di dalam membuat subquery, yaitu :
• Subquery diletakkan di dalam tanda kurung.
• Operator ORDER BY tidak dapat digunakan di dalam subquery.
• Subquery hanya boleh memiliki satu kolom.
• Gunakan operator single-row dengan single-row subqueries, dan gunakan operator multiple-
row dengan multiple-row subqueries. Single-row subqueries merupakan query yang hanya
mengembalikan satu record (baris) dari inner statement SELECT. Multiple-row subqueries
merupakan query yang mengembalikan lebih dari satu record (baris) dari inner statement
SELECT.
Februari,2021 Desain Database 1
Laboratorium Teknik Informatika
• Operator BETWEEN tidak dapat digunakan dengan subquery. Namun, operator BETWEEN
dapat digunakan dalam subquery.
Berikut merupakan contoh penggunaan subquery.
Penggunaan subquery dengan statement SELECT
Berikut merupakan struktur dasar dari subquery nya :
SELECT column_name [, column_name ]
FROM table1 [, table2 ]
WHERE column_name OPERATOR
(SELECT column_name [, column_name ]
FROM table1 [, table2 ]
[WHERE])
Contoh penggunaannya pada skema HR :
Dari query tersebut, maka akan menampilkan record seperti di bawah ini :
Februari,2021 Desain Database 2
Laboratorium Teknik Informatika
Penggunaan subquery dengan statement INSERT
Berikut merupakan struktur dasar dari subquery nya :
INSERT INTO table_name [ (column1 [, column2 ]) ]
SELECT [ *|column1 [, column2 ]
FROM table1 [, table2 ]
[ WHERE VALUE OPERATOR ]
Contoh penggunaannya pada skema HR :
Table pekerjaan merupakan table yang memiliki struktur yang sama persis dengan table jobs. Dan
query di atas merupakan query untuk menyalin keseluruhan data yang ada di table jobs ke dalam table
pekerjaan.
Dari query tersebut, maka akan menghasilkan record seperti di bawah ini :
Penggunaan subquery dengan statement UPDATE
Berikut merupakan struktur dasar dari subquery nya :
Februari,2021 Desain Database 3
Laboratorium Teknik Informatika
UPDATE table
SET column_name = new_value
[ WHERE OPERATOR [ VALUE ]
(SELECT COLUMN_NAME
FROM TABLE_NAME)
[ WHERE) ]
Contoh penggunaannya pada skema HR :
Dari query tersebut, maka akan menghasilkan record seperti di bawah ini :
Penggunaan subquery dengan statement DELETE
Berikut merupakan struktur dasar dari subquery nya :
DELETE FROM TABLE_NAME
[ WHERE OPERATOR [ VALUE ]
(SELECT COLUMN_NAME
FROM TABLE_NAME)
[ WHERE) ]
Contoh penggunaannya pada skema HR :
Februari,2021 Desain Database 4
Laboratorium Teknik Informatika
Dari query tersebut, maka akan menghasilkan record seperti di bawah ini :
Contoh-contoh penggunaan subquery diatas merupakan multiple-row subqueries, di karenakan
operator yag di gunakan merupakan operator multiple-row (IN). Untuk contoh penggunaan single-row
subqueries dapat di lihat pada contoh di bawah ini :
Dari query tersebut, maka akan menghasilkan record seperti di bawah ini :
VIEW
View adalah sebuah table virtual hasil dari sebuah query statement SELECT. Mengapa view di sebut
table virtual? Hal ini di karenakan view mirip sebuah table yang berisi kolom atau field dan record data
tetapi view bersifat read-only, jadi kita tidak dapat melakukan proses insert dan sebagainya. Data yang
ada di view akan selalu up to date seiring dengan data yang ada di table.
Membuat View
Untuk membuat sebuah view, kita dapat menggunakan perintah CREATE VIEW. Berikut merupakan
query dasar untuk membuat view.
CREATE VIEW nama_view AS
SELECT kolom_1, kolom_2, kolom_n
FROM nama_table
Februari,2021 Desain Database 5
Laboratorium Teknik Informatika
WHERE kondisi;
Di bawah ini adalah contoh pembuatan view pada skema HR.
*pada query diatas, baris pertama seharusnya CREATE VIEW contoh_view.
Setelah menjalankan query diatas, maka view telah di buat. Untuk menampilkan view tersebut, dapat
menggunakan statement SELECT.
SELECT * FROM VIEW_NAME;
Implementasinya adalah sebagai berikut.
View tersebut akan menampilkan data sebagai berikut.
Februari,2021 Desain Database 6
Laboratorium Teknik Informatika
Update View
Kita dapat meng-update view sesuai dengan kebutuhan, seperti menambahkan kolom pada view
ataupun menambahkan filter pada klausa WHERE di view tersebut. Untuk mengupdate view, kita dapat
menggunakan perintah CREATE OR REPLACE VIEW.
Berikut merupakan query dasar untuk mengupdate view.
CREATE OR REPLACE VIEW nama_view AS
SELECT kolom_1, kolom_2, kolom_n
FROM nama_tabel
WHERE kondisi;
Contoh implementasinya dapat dilihat di bawah ini.
Query tersebut akan menghasilkan view seperti dibawah ini.
Februari,2021 Desain Database 7
Laboratorium Teknik Informatika
Menghapus View
Berikut query untuk menghapus view yang telah di buat
DROP VIEW nama_view;
Contoh :
LEMBAR KERJA
KEGIATAN 1 (POIN 0-60)
• Buatlah sebual tabel baru untuk menampilkan record data job_title, department_name,
name(first name dan last name di gabung), tanggal masuk, serta gaji. Kemudian tampilkan
data karyawan yang memiliki gaji tertinggi dan terendah sebagai seorang programmer.
Untuk memudahkan, query pembuatan table baru ada di bawah ini.
CREATE TABLE kegiatan_1
( pekerjaan VARCHAR2(50)
, department VARCHAR2(50)
, nama VARCHAR2(50)
, tanggal_masuk DATE
, gaji NUMBER(8,2));
• Tampilkan table kegiatan_1
Februari,2021 Desain Database 8
Laboratorium Teknik Informatika
KEGIATAN 2 (POIN 60-75)
• Selanjutnya, tambahkan entry data dengan ketentuan :
Pekerjaan : Cita cita
Department : sesuai keinginan
Nama : Nama praktikan
Tanggal masuk : tanggal lahir praktikan
Gaji : 5 digit nim terakhir
• Tunjukan hasilnya pada asisten
• Kemudian ubahlah tanggal masuk pada data yang baru ditambahkan dalam table kegiatan_1
menjadi tanggal saat demo praktikum modul 4 basis data masing masing dengan statement
subquery UPDATE, kemudian tunjukkan.
Contoh output :
• Terakhir, hapus record data baris pertama pada table kegiatan_1 dengan statement subquery
DELETE kemudian tunjukkan.
KEGIATAN 3 (POINT 75-100)
Buatlah view untuk menampilkan nama, email, nomer telepon , dan gaji karyawan yang mulai bekerja
pada tahun 2007 dan bekerja pada manager dengan ID 124.
RUBRIK PENILAIAN
Kegiatan 1 : 0-60
Kegiatan 2 : 60-75
Kegiatan 3 : 75-100
Februari,2021 Desain Database 9