Ersa Amoza Sita - SQL DML
Ersa Amoza Sita - SQL DML
NIM : 211810274
Kelas : 2ST2
Berdasarkan database Dream Home Company, buatlah query untuk mendapatkan hasil
berikut.
Buat semua kemungkinan alternatif query yang ada. (berdasarkan materi SQL DML 1 dan
SQL DML 2)
Tampilkan hasilnya.
1. Tampilkan id dari pada staff berikut gaji perbulannya, dengan syarat, gaji perbulan staff
tersebut lebih besar dari 1000 pound. Kemudian urutkan berdasarkan gaji yang terbesar.
Jawab :
SELECT staffNo, salary/12
FROM Staff
WHERE salary/12 > 1000
ORDER BY salary/12 DESC
View :
staffNo salary
SL21 30000
SG37 12000
SG14 18000
SA9 9000
SG5 24000
SL41 9000
2. Tampilkan ID property yang memiliki kamar lebih atau sama dengan 4 tetapi biaya
sewanya lebih kecil dari 500 pound.
Jawab :
SELECT propertyNo
FROM PropertyForRent
WHERE rooms >= 4 AND rent < 500
View:
propertyNo
PL94
Pg16
3. Tampilkan info lengkap private owner yang beralamat di Glasgow tetapi first namenya
tidak berawalan “T”.
Jawab :
SELECT *
FROM PrivateOwner
WHERE address LIKE ‘%Glasgow%’ AND fName NOT LIKE ‘T%’;
View:
4. Tampilkan first name dan last name dari semua staff yang berada pada branch B005 atau
B007.
Jawab :
SELECT fName, lName
FROM Staff
WHERE branchNo IN(‘B005’, ‘B007’);
View:
fName lName
John White
Mary Hone
Julie Lee
5. Tampilkan kode properti dan kodeposnya, dimana pada awal kodepos tsb terdapat string
“G12”.
Jawab :
SELECT propertyNo, postcode
FROM PropertyForRent
WHERE postcode LIKE ‘G12%’;
View:
propertyNo postcode
PG21 G12
PG16 G12 9AX
6. Untuk setiap tipe properti tampilkan type, jumlah properti, total biaya sewa dan total
jumlah kamar properti tersebut. Urutkan hasilnya berdasarkan tipe properti.
Jawab :
SELECT type, COUNT (type) AS sumOfProperty, SUM(rent) AS sumOfRent, SUM(rooms) AS
sumOfRooms
FROM PropertyForRent
GROUP BY type
ORDER BY type;
View:
7. Tampilkan id dari properti owner beserta total jumlah properti yang dimilikinya dan total
jumlah kamar dari properti-properti tersebut, dengan syarat jumlah properti yang dimiliki
tersebut minimum 2 properti dan total jumlah kamar adalah lebih besar dari 8 kamar.
Jawab :
SELECT ownerNo, COUNT(ownerNo) AS totalOfProperty, SUM(rooms) AS sumOfRooms
FROM PropertyForRent
GROUP BY ownerNo
HAVING COUNT(ownerNo) >= 2 AND SUM(rooms) > 8;
View :
8. Tampilkan detail client yang melihat properti yang dikelola oleh seorang manager yang
bekerja di branch yang berada di kota London.
Jawab :
SELECT *
FROM Client
WHERE clientNo IN (
SELECT clientNo
FROM Viewing
WHERE propertyNo = (
SELECT propertyNo
FROM PropertyForRent
WHERE staffNo = (
SELECT staffNo
FROM Staff
WHERE position = ‘Manager’ AND branchNo = (
SELECT branchNo
FROM Branch
WHERE city = ‘London’ ))));
View :
9. Tampilkan detail client yang melihat properti yang dikelola oleh seorang staff yang
mengelola lebih dari satu properti dan client melihat pada bulan Mei.
Jawab :
SELECT *
FROM Client
WHERE clientNo IN (
SELECT clientNo
FROM Viewing
WHERE viewDate BETWEEN ’01-May-01’ AND ’31-May-01’ AND propertyNo = (
SELECT propertyNo
FROM PropertyForRent
WHERE COUNT(ownerNo) > 1 ));
View:
15. Naikkan gaji staff yang bekerja di Branch yang ada di London 10%.
Jawab :
UPDATE Staff SET salary = salary*1,1
WHERE branchNo = ‘B002’ OR branchNo = ‘B005’;
View :