Lecture Notes: ISYS6513 Database System and Management
Lecture Notes: ISYS6513 Database System and Management
ISYS6513
Database System and Management
Week 7
SQL: Data Manipulation
Simple Queries
Tujuan dari pernyataan SELECT adalah untuk mengambil dan menampilkan data dari
satu atau lebih tabel basis data. Perintah SELECT merupakan perintah yang kuat karena
mampu melakukan operasi relasional aljabar seperti pilihan, proyeksi, penggabungan dalam
sebuah kalimat. Bentuk utama
SELECT [DISTINCT | ALL] {* | [columnExpression [AS newName]] [, . . .]}
FROM TableName [alias] [, . . .]
[WHERE condition]
Gambar 7.1 Hasil dari Query SELECT* (Source: Connoly & Begg (2015)
Contoh dengan kolom tertentu
SELECT staffNo, fName, IName, salary
FROM Staff;
Gambar 7.2 Hasil dari Query SELECT pada kolom tertentu. (Source: Connoly & Begg
(2015)
Gambar 7.3 Hasil Query SELECT DISTINCT (Source: Connoly & Begg (2015)
WHERE Clause
Pada contoh sebelumnya klausa menggunakan perintah SELECT untuk mengambil
data pada setiap baris pada tabel. Namun kadang dibutuhkan pembatasan dari baris tersebut
yaitu menggunakan WHERE yang diikuti kondisi yang diinginkan. 5 pembatas pencarian
Comparison untuk membandingkan nilai antar ekspresi
Range untuk melihat hasil perbandingan sesuai dengan settingan.
Set membership untuk Test apakah nilai ekspresi sama dengan salah satu dari
serangkaian nilai.
Pattern match melihat hasil perbandingan sesuai dengan settingan
Null apakah kolom memiliki nilai null (tidak diketahui)
Contoh pencarian dengan perbandingan
SELECT staffNo, fName, IName, position, salary
FROM Staff
WHERE salary > 10000;
Gambar 7.4 Hasil Query SELECT Comparison (Source: Connoly & Begg (2015)
Gambar 7.5 Hasil Query SELECT Comparison OR (Source: Connoly & Begg (2015)
Gambar 7.6 Hasil Query SELECT Range Between (Source: Connoly & Begg (2015)
Gambar 7.7 Hasil Query SELECT Condition IN (Source: Connoly & Begg (2015)
Gambar 7.8 Hasil Query SELECT Like (Source: Connoly & Begg (2015)
Gambar 7.9 Hasil Query SELECT IS NULL (Source: Connoly & Begg (2015)
Contoh ORDER
SELECT staffNo, fName, IName, salary
FROM Staff
ORDER BY salary DESC;
Gambar 7.10 Hasil Query SELECT ORDER BY (Source: Connoly & Begg (2015)
Contoh Count
SELECT COUNT(*) AS myCount
FROM PropertyForRent
WHERE rent > 350;
Gambar 7.11 Hasil Query SELECT COUNT (Source: Connoly & Begg (2015)
Gambar 7.12 Hasil Query SELECT COUNT dan SUM (Source: Connoly & Begg (2015)
GROUPING RESULT
Kadang kita membutuhkan nilai sub total dibandingkan nilai keseluruhan secara
langsung. Kita dapat menggunakan klausa GROUP BY, sehingga menghasilkan baris
ringkasan tunggal untuk setiap grup yang kita kelompokkan.
Contoh Grouping
SELECT branchNo, COUNT(staffNo) AS myCount, SUM(salary) AS mySum
FROM Staff
GROUP BY branchNo
ORDER BY branchNo;
Gambar 7.14 Hasil Query SELECT GROUP BY (Source: Connoly & Begg (2015)
VIEWS
View adalah Hasil dinamis dari satu atau lebih operasi relasional yang beroperasi pada
relasi dasar untuk menghasilkan relasi lain. View adalah relasi virtual yang belum tentu ada
dalam database tetapi dapat diproduksi atas permintaan oleh pengguna tertentu.
Untuk pengguna basis data, view tampak seperti tabel asli, dengan kumpulan kolom
dan baris data yang ditentukan. Namun, tidak seperti tabel dasar, view tidak selalu ada di
database sebagai kumpulan nilai data yang disimpan. Sebaliknya, view didefinisikan sebagai
kueri pada satu atau lebih tabel dasar atau view. DBMS menyimpan definisi view dalam
database. Ketika DBMS bertemu referensi ke view, salah satu pendekatan adalah untuk
mencari definisi ini dan menerjemahkan permintaan menjadi permintaan yang setara terhadap
tabel sumber view dan kemudian melakukan permintaan yang setara. Proses penggabungan ini,
yang disebut resolution view, dibahas di dalamnya. Pendekatan alternatif, yang disebut
materialisasi view, menyimpan pandangan sebagai tabel sementara dalam basis data dan
mempertahankan tampilan concurrency saat tabel basis dasar diperbarui.
Create View
Format dari perintah view adalah:
CREATE VIEW ViewName [(newColumnName [, . . . ])]
AS subselect [WITH [CASCADED | LOCAL] CHECK OPTION]
View didefinisikan dengan menetapkan pernyataan SQL SELECT. Nama opsional
dapat ditugaskan untuk setiap kolom dalam view. Jika daftar nama kolom yang ditentukan,
harus memiliki jumlah item yang sama dengan jumlah kolom yang dihasilkan oleh subselect.
Jika daftar nama kolom dihilangkan, setiap kolom dalam tampilan mengambil nama kolom
yang sesuai dalam pernyataan subseleksi. Daftar nama kolom harus ditentukan jika ada
ambiguitas dalam nama untuk kolom. Ini dapat terjadi jika subseleksi menyertakan kolom
Connolly, T., & Begg, C. (2015). Database System A Practical Approach to Design,
Implemetation, and Management 6th Edition. Pearson