1
Pernyataan SELECT-Grouping
2
KOMD70 : PENGENALAN BASIS DATA (PBD)
Pernyataan SELECT-Grouping
(GROUP BY)
Berapa jumlah staff yang bekerja di setiap
kantor cabang sekaligus jumlahkan gaji mereka
untuk setiap kantor cabang
5
KOMD70 : PENGENALAN BASIS DATA (PBD)
Grouping yang dibatasi (HAVING)
6
KOMD70 : PENGENALAN BASIS DATA (PBD)
Subquery
Subquery pernyataan SELECT lain
yang disisipkan dalam query selain
SELECT utama (yang sudah ada)
SELECT tersebut bisa terletak di WHERE
dan HAVING subquery atau nested
query
SELECT tersebut bisa muncul juga pada
DELETE, UPDATE, & INSERT
7
KOMD70 : PENGENALAN BASIS DATA (PBD)
Subquery
Ada 3 macam :
1. Skalar subquery menghasilkan 1 baris dan
1 kolom
2. Baris subquery menghasilkan banyak
kolom tapi 1 baris
3. Tabel subquery menghasilkan satu atau
lebih kolom dengan banyak baris
8
KOMD70 : PENGENALAN BASIS DATA (PBD)
Subquery dengan “sama dengan”
9
KOMD70 : PENGENALAN BASIS DATA (PBD)
Subquery dengan “sama dengan”
12
KOMD70 : PENGENALAN BASIS DATA (PBD)
Subquery dengan agregrasi
13
KOMD70 : PENGENALAN BASIS DATA (PBD)
Rule dalam Subquery
15
KOMD70 : PENGENALAN BASIS DATA (PBD)
ANY dan ALL
17
KOMD70 : PENGENALAN BASIS DATA (PBD)
Penggunaan ANY dan ALL
Temukan staff yang gajinya lebih besar
dari gaji semua staff di kantor cabang
B003
SELECT staffNo, fName, lName, position, salary
FROM Staff
WHERE salary > ALL {12000,18000,24000}
(SELECT salary
FROM Staff
WHERE branchNo = 'B003');
18
KOMD70 : PENGENALAN BASIS DATA (PBD)
Penggunaan ANY dan ALL
Temukan staff yang gajinya lebih besar
dari minimal 1 atau lebih gaji staff di kantor
cabang B003
SELECT staffNo, fName, lName, position, salary
FROM Staff
WHERE salary > SOME
(SELECT salary
FROM Staff
WHERE branchNo = 'B003');
19
KOMD70 : PENGENALAN BASIS DATA (PBD)
Query pada banyak tabel
20
KOMD70 : PENGENALAN BASIS DATA (PBD)
Query pada banyak tabel
Dapat menggunakan alias untuk nama
tabel pada FROM
Alias dipisahkan dengan spasi dari nama
tabelnya
Alias digunakan untuk menghilangkan
kerancuan nama kolom yang sama untuk
tabel yang berbeda
Misal : FROM staff S, Branch B
21
KOMD70 : PENGENALAN BASIS DATA (PBD)
Join sederhana
Daftar nama semua client yang telah “viewing”
beserta komentarnya
SELECT c.clientNo, fName, lName, propertyNo,
comment
FROM Client C, Viewing v
WHERE c.clientNo = v.clientNo;
22
KOMD70 : PENGENALAN BASIS DATA (PBD)
Mengurutkan/sorting join
Untuk setiap kantor cabang, buat daftar
nomor dan nama staff yang mengelola
property sekaligus property-nya
23
KOMD70 : PENGENALAN BASIS DATA (PBD)
Inner Join
Jika ada baris yang tidak “match” dalam join tabel maka
baris tersebut akan dihilangkan dalam tabel hasil
Operasi outer join mempertahankan baris tersebut
Perhatikan tabel dibawah ini:
24
KOMD70 : PENGENALAN BASIS DATA (PBD)
Inner Join
(Inner) join kedua tabel tersebut :
SELECT b.*, p.*
FROM Branch1 b, PropertyForRent1 p
WHERE b.bCity = p.pCity;
25
KOMD70 : PENGENALAN BASIS DATA (PBD)
Outer Join
26
KOMD70 : PENGENALAN BASIS DATA (PBD)
Outer Join Kiri
27
KOMD70 : PENGENALAN BASIS DATA (PBD)
Outer Join Kanan
Buat daftar kantor cabang dan property
yang berada pada kota yang sama
termasuk kantor cabang yang tidak
“match”
28
KOMD70 : PENGENALAN BASIS DATA (PBD)
Outer Join Kiri & Kanan
Bandingkan hasilnya
29
KOMD70 : PENGENALAN BASIS DATA (PBD)
Outer Join Penuh
Buat daftar kantor cabang dan property
yang berada pada kota yang sama
termasuk kantor cabang yang tidak
“match”
30
KOMD70 : PENGENALAN BASIS DATA (PBD)
UNION, INTERCEPT & DIFERRENCE
31
KOMD70 : PENGENALAN BASIS DATA (PBD)
UNION, INTERSECT & DIFERRENCE
32
KOMD70 : PENGENALAN BASIS DATA (PBD)
UNION, INTERSECT & DIFERRENCE
Duplikat baris
33
KOMD70 : PENGENALAN BASIS DATA (PBD)
UNION, INTERSECT & DIFERRENCE
34
KOMD70 : PENGENALAN BASIS DATA (PBD)
Penggunaan UNION
(SELECT city
FROM Branch
WHERE city IS NOT NULL) INTERSECT
(SELECT city
FROM PropertyForRent
WHERE city IS NOT NULL);
35
KOMD70 : PENGENALAN BASIS DATA (PBD)
Penggunaan UNION
Atau
(SELECT *
FROM Branch
WHERE city IS NOT NULL)
UNION CORRESPONDING BY city
(SELECT *
FROM PropertyForRent
WHERE city IS NOT NULL);
36
KOMD70 : PENGENALAN BASIS DATA (PBD)
Penggunaan INTERSECT
Buat daftar semua kota yang terdapat kantor
cabang dan property
(SELECT city FROM Branch)
INTERSECT
(SELECT city FROM PropertyForRent);
Atau
(SELECT * FROM Branch)
INTERSECT CORRESPONDING BY city
(SELECT * FROM PropertyForRent);
37
KOMD70 : PENGENALAN BASIS DATA (PBD)
Penggunaan EXCEPT/DIFERRENCE
Atau
(SELECT * FROM Branch)
EXCEPT CORRESPONDING BY city
(SELECT * FROM PropertyForRent)
38
KOMD70 : PENGENALAN BASIS DATA (PBD)
Insert
INSERT INTO TableName [ (columnList) ]
VALUES (dataValueList)
'B003');
39
KOMD70 : PENGENALAN BASIS DATA (PBD)
Update
UPDATE TableName
SET columnName1 = dataValue1
[, columnName2 = dataValue2...]
[WHERE searchCondition]
40
KOMD70 : PENGENALAN BASIS DATA (PBD)
Update
Kenaikan gaji untuk manager sebesar 5%
UPDATE Staff
SET salary = salary*1.03;
42
KOMD70 : PENGENALAN BASIS DATA (PBD)
KOMD70 : PENGENALAN BASIS DATA (PBD)
SELESAI
43