Anda di halaman 1dari 3

SISTEM BASIS DATA

(Materi Kuis 2)

DEPOSITOR
No namapelanggan nomorrekening BRANCH
. No. namacabang kotacabang asset
1 Adi Prasetyo R N0001 1 Bantur Malang 400.000.000
2 Etika F T N0002 2 Dolopo Madiun 500.000.000
3 Fardan F T N0003 3 Ngawi Ngawi 10.000.000
4 Luluk Pasharela N0004 4 Sumbersari Malang 200.000.000
5 Takeran Magetan 400.000.000
CUSTOMER
No namapelanggan jalanpelanggan kotapelanggan ACCOUNT
1 Adi Prasetyo R Kartini 14 Ngawi No. nomorrekening namacabang Balance
2 Etika F T Sumbersari V Malang 1 N0001 Ngawi 2.000.000
3 Fardan F T Sumbersari V Malang 2 N0002 Bantur 3.000.000
4 Luluk Pasharela Krajan, Bantur Malang 3 N0003 Bantur 2.500.000
5 Pam Pam Desa Takeran Madiun 4 N0004 Bantur 1.500.000

LOAN BORROWER
No. nomorpinjaman namacabang Jumlah No. nomorpinjaman nomorpinjaman
1 P0001 Bantur 2.000.000 1 Adi Prasetyo P0002
2 P0002 Ngawi 3.000.000 2 Luluk Pasharela P0001
3 P0003 Takeran 2.000.000 3 Pam Pam P0003

STRUKTUR DASAR : select *kolom/baris* from *table* where *syarat*

1. Menemukan nama dari semua cabang dalam relasi pinjaman


Select namacabang from loan

2. Mencari semua nomor pinjaman untuk pinjaman yang dilakukan di cabang ‘Ngawi’ dengan jumlah pinjaman
lebih besar dari 100
Select nomorpinjaman from loan where jumlah > 100 and namacabang = ‘Ngawi’

3. Mencari semua nomor pinjaman dengan pinjaman antara 100 dan 1000
Select nomorpinjaman from loan where jumlah between 100 and 1000

4. Temukan Cartesian product borrower x loan


Select * from borrower,loan

5. Cari nama, nomor pinjaman dan jumlah pinjaman semua pelanggan yang memiliki pinjaman di cabang ngawi
Select namapelanggan, nomorpinjaman, jumlah from loan,borrower where borrower.nomorpinjaman =
loan.nomorpinjaman and namacabang = ‘Ngawi’
6. Cari nama, nomor pinjaman dan jumlah pinjaman semua pelanggan, mengubah nama kolom nomorpinjaman
sebagai pinjaman_id
Select namapelanggan, borrower.nomorpinjaman as pinjaman_id, jumlahpinjaman from loan,borrower where
loan.nomorpinjaman = borrower.nomorpinjaman

7. (TUPLE VARIABLES)
Cari nama pelanggan dan nomor pinjaman dan jumlah mereka untuk semua pelanggan yang memiliki
pinjaman
select nomorpelanggan,T.nomorpinjaman, S.jumlah from borrower as T, loan as S, where T.nomorpinjaman =
S.nomorpinjaman

8. Cari nama – nama dari semua cabang yang memiliki asset lebih besar dari beberapa cabang berlokasi di
Malang
Select distinct T.namacabang, T.kotacabang from branch as T, branch as S where T.asset>S.asset and
S.kotacabang = ‘ Malang’

9. Semua pelanggan yang nama jalannya mengandung substring “krajan”


Select namapelanggan from customer where jalanpelanggan like %krajan%

10. Daftar dalam urutan abjad nama semua pelanggan yang memiliki pinjaman di cabang Bantur
Select namapelanggan from borrorwer, loan where borrower.nomorpinjaman = loan.nomorpinjaman and
namacabang=’Bantur’ order by namapelanggan
11. Nama pelanggan yang mempunyai loan, account, atau keduanya
(Select namapelanggan from loan) union (select namapelanggan from borrower)

12. Nama pelanggan yang mempunyai pinjaman dan account


Select depositor.namapelanggan from borrower, depositor where depositor.nomorrekening =
borrower.nomorpinjaman

13. Semua customer yang mempunyai account tapi tidak mempunyai loan
Select depositor.namapelanggan from depositor left join borrower on depositor.namapelanggan =
borrower.nomorpelangggan where borrower.nomorpelanggan is null

14. Semua pelanggan yang hanya meminjam dan hanya deposit


(Select depositor.namapelanggan from depositor left join borrower on depositor.namapelanggan =
borrower.namapelanggan where borrower.namapelanggan is null) UNION (Select borrower.namapelanggan
from borrower left join depositor on depositor.namapelanggan = borrower.namapelanggan where
depositor.namapelanggan is null

15. Rata – rata saldo account pada cabang bantur


Select avg(balance) from account where namacabang = ‘bantur’

16. Jumlah tuples di relasi customer


Select count (*) from customer

17. Jumlah depositors pada bank


Select count (distinct namapelanggan) from depositor.

18. Jumlah depositors untuk setiap cabang


Select namacabang, count(distinct namapelanggan) from depositor,account where depositor.nomorrekening =
account.nomorrekening group by namacabang

19. Nama semua cabang dimana saldo rata – rata akun lebih besar dari $1.200
Select namacabang,avg(balance) from account group by namacabang having avg(balance)>1200

20. Semua pelanggan yang memiliki akun dan pinjaman di bank


Select namapelanggan from borrower where namapelanggan in (select namapelanggan from depositor)

21. Semua pelanggan yang memiliki pinjaman di bank tapi tidak memiliki akun di bank
Select namapelanggan from borrower where namapelanggan not in (select namapelanggan from depositor)
22. Semua cabang yang memiliki asset lebih besar dari beberapa cabang yang berlokasi di Malang
Select distinct T.namacabang from branch as T, branch as S where T.asset > S.asset and S.kotacabang =
‘malang’
KALO PAKE SOME CLAUSE
Select namacabang branch where asset > some (select asset from branch where kotacabang = ‘ malang’)

23. Nama semua cabang yang memiliki asset lebih besar dari semua cabang yang ada di malang
Select namacabang from branch where asset > all (select asset from branch where kotacabang = ‘malang’)

24. CREATE VIEW


View yang terdiri dari cabang dan pelanggan mereka
Create view allcustomer where (select namacabang, namapelanggan from depositor, account where
depositor.nomorrekening = account.nomorrekening) union (select namacabang,namapelanggan from
borrower,loan where borrower.nomorpinjaman = loan.nomorpinjaman)

25. INNER JOIN


Select * from branch b inner join account a on b.namacabang = a.namacabang inner join depositor d on d.
nomorrekening = a.nomorrekening

26. LEFT OUTER JOIN


Select * from loan l left outer join borrower b on b.nomorpinjaman = l.nomorpinjaman

27. RIGHT OUTER JOIN


Select * from loan l right outer join borrower b on b.nomorpinjaman=l.nomorpinjaman

Anda mungkin juga menyukai