Modul 3 : Grouping Data, Performing Set Operations, Grouping Sets, Subquery, Modifying Data and Managing Tables Tujuan Praktikum - Mahasiswa memahami query Grouping data, Performing set operations, Grouping Sets, Subquery, Modifying data and Managing tables - Mahasiswa mampu menggunakan query Grouping data, Performing set operations, Grouping Sets, Subquery, Modifying data and Managing tables pada data di database Materi Praktikum 1. Grouping Data a. Group By Mengembalikan data hasil query select dalam bentuk kelompok. Pada setiap kelompok dapat digunakan fungsi aggregate seperti SUM atau COUNT b. Having Biasanya digunakan bersamaan dengan GROUP BY untuk menyaring data lebih spesifik. HAVING digunakan setelah GROUP BY. Sedangkan WHERE digunakan sebelum GROUP BY. 2. Performing Set Operations a. Union 1 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n
Menggabungkan hasil query dari dua atau lebih perintah SELECT menjadi satu dengan syarat memiliki jumlah kolom hasil query yang sama dan kolom tersebut memiliki tipe data yang sesuai. b. Intersect Memiliki fungsi yang sama seperti UNION, tapi data hasil query merupakan data irisan antara dua atau lebih tabel. Bentuk Umum : c. Except Memiliki fungsi yang sama seperti UNION atau INTERSECT, tapi data hasil query merupakan data yang hanya ada pada tabel pertama dan tidak ada pada irisan atau pada tabel kedua. Bentuk Umum : 3. Grouping Sets a. Grouping Sets 2 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n
GROUP BY yang terdiri lebih dari satu kolom. b. Cube Merupakan sub (bagian) dari GROUP BY, memungkinkan untuk menghasilkan banyak grouping set. Cube merupakan jalan pintas untuk menghasilkan banyak grouping, sehingga akan sama hasilnya seperti : N kolom akan menghasilkan kombinasi sebanyak 2N. c. Rollup Merupakan sub (bagian) dari GROUP BY sama seperti cube, memungkinkan untuk menghasilkan banyak grouping set. Beda Rollup dan Cube adalah Rollup tidak 3 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n
menghasilkan semua grouping yang memungkinkan berdasarkan kolom tertentu, hanya membuat sebuah subset dari kolom-kolom tersebut. Rollup mengasumsikan hierarki antara kolom input dan menghasilkan semua grouping yang masuk akal berdasarkan hierarki. Sehingga Rollup biasa digunakan untuk membuat subtotal dan grand total pada laporan. CUBE(c1,c2,c3) ROLLUP(c1,c2,c3) 4. Subquery a. Subquery Merupakan sebuah query bersarang didalam query lain seperti SELECT, INSERT, DELETE and UPDATE. Penggunaan query ke-2 (inner query) setelah klausa WHERE atau IN atau EXIST dari query ke-1 (outer query) dalam tanda (). 4 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n
b. ANY/SOME Membandingkan sebuah nilai dengan sekumpulan nilai yang dihasilkan subquery. Syarat : - Subquery harus menghasilkan tepat satu kolom - Menggunakan operator perbandingan (<,>,=) sebelum klausa ANY = ANY sama dengan dengan IN tetapi <> ANY tidak sama dengan NOT IN. x <> ANY(a,b,c) sama dengan x <> a OR x<> b OR x<>c c. ALL Memungkinkan untuk query data dengan membandingkan sebuah nilai dengan beberapa nilai (list) dari sebuah subquery. 5 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n
d. EXISTS Digunakan untuk melakukan pengecekan keberadaan dari baris dalam sebuah subquery. Biasanya digunakan dengan subquery yang berkorelasi. Contoh yang umum digunakan : Jika subquery menghasilkan NULL, hasil dari EXISTS adalah TRUE. 5. Modifying Data a. Insert b. Update c. Update Join d. Delete e. Upsert 6 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n
6. Managing Tables a. Data Types b. Create Table c. Select Into & Create Table As d. Auto-Increment e. Alter Table f. Rename Table g. Rename Database h. Add Column i. Drop Column j. Change Column Data Type k. Rename Column l. Drop Table m. Temporary Table n. Truncate Table Intruksi Gunakan database dvdrental pada modul sebelumnya, kemudian buatlah query untuk perintah berikut: 1. Ubah nama depan dan nama belakang dari staff yang memiliki id=2 dengan nama Anda. 2. Tampilkan id film dan judul film yang tidak ada di inventori tapi ada di tabel film. 3. Hapus salah satu film tersebut dengan ide=955 Tugas 7 P a g e L a b o r a t o y o f E n t e r p r i s e A p p l i c a t i o n