10. SQL-2

advertisement
SQL
Part 2
Review Pertemuan Ke-IX
 Sistem basis data komersial menghendaki
adanya sebuah bahasa query yang lebih userfriendly.
 Oleh karena itu dikenal SQL sebagai bahasa
query yang marketable.
 SQL menggunakan kombinasi aljabar relasional
& kalkulus relasional.
 Struktur dasar dari ekspresi SQL terdiri dari tiga
klausa yaitu : select, from dan where.
2
Klausa Where
Contoh query : “Temukan semua loan number
untuk pinjaman-pinjaman yang dibuat pada
cabang Perryridge dengan jumlah lebih besar
dari $1200”.
Query-nya ditulis sebagai berikut :
3
Klausa Where
Select loan-number
From loan
Where branch-name = “Perryridge” and
amount >1200
4
Klausa Where
SQL menggunakan konektivitas lojik and, or
dan not dalam klausa where.
SQL juga memasukkan perintah between
untuk menentukan apakah suatu nilai lebih
kecil daripada atau sama dengan suatu nilai
lain dan lebih besar daripada atau sama
dengan suatu nilai lain.
5
Klausa Where
Contoh : jika diinginkan menemukan loannumber yang jumlah pinjamannya antara
$90000 dan $100000, ditulis sebagai berikut :
Select loan-number
From loan
Where amount between 90000 and 100000
6
Klausa From
Contoh query : “Untuk semua customer yang
mempunyai sebuah pinjaman dari bank,
temukan nama dan loan number mereka”.
7
Klausa From
Select distinct customer-name,
borrower.loan-number
From borrower, loan
Where borrower.loan-number =
loan.loan.number
8
Operasi Rename
SQL menyediakan mekanisme operasi
rename untuk relasi dan atribut.
Operasi rename dalam SQL menggunakan
klausa as dengan bentuk :
Nama-lama as nama-baru
9
Operasi Rename
Contoh : Jika atribut dengan nama loannumber akan diganti dengan nama loan-id,
dapat ditulis sebagai berikut :
10
Operasi Rename
Select distinct customer-name,
borrower.loan-number as loan-id
From borrower,loan
Where borrower.loan-number = loan.loannumber and branch-name = “Perryridge”
11
OPERASI HIMPUNAN
Operasi operasi himpunan pada SQL-92
meliputi : union, intersect, dan except.
Union identik dengan U, intersect identik
dengan ∩ dan except identik dengan – pada
aljabar relasional.
12
Operasi Union
Contoh : Untuk mendapatkan semua customer
yang mempunyai pinjaman, rekening atau
keduannya pada bank ditulis :
(select customer-name from depositor)
union
(select customer-name from borrower)
13
Operasi Union
 Operasi union secara otomatis akan menghilangkan
duplikasi, tidak seperti klausa select.
 Sehingga pada query di atas, jika Jones (seorang
customer) mempunyai beberapa rekening atau
pinjaman (atau keduannya) pada bank, maka Jones
hanya akan muncul sekali.
 Jika duplikasi diinginkan ada maka harus ditulis
union all.
14
Operasi Intersect
Contoh : untuk mendapatkan semua customer
yang memiliki pinjaman dan rekening pada
bank, query-nya ditulis :
(select distinct customer-name from depositor)
intersect
(select distinct customer-name from borrower)
15
Operasi Intersect
Operasi intersect secara otomatis
menghilangkan duplikasi.
Jika diinginkan duplikasi tetap ada ditulis
intersect all.
16
Operasi Except
Contoh : untuk mendapatkan semua customer
yang mempunyai sebuah rekening tetapi tidak
memiliki pinjaman pada bank, ditulis :
(select distinct customer-name from depositor)
except
(select customer-name from borrower)
17
Operasi Except
Operasi except secara otomatis
menghilangkan duplikasi.
Jika diinginkan ada maka ditulis : except all.
18
Summary
Operasi operasi himpunan pada SQL-92
meliputi : union, intersect, dan except.
Union identik dengan U, intersect identik
dengan ∩ dan except identik dengan – pada
aljabar relasional.
Operasi union secara otomatis akan
menghilangkan duplikasi, tidak seperti klausa
select.
19
SOAL LATIHAN
1.Diketahui relasi yang menyimpan penerbangan pesawat:
 Flights(flno: integer, from: string, to: string, distance: integer,
 departs: time, arrives: time, price: integer)
 Aircraft(aid: integer, aname: string, cruisingrange: integer)
 Certied(eid: integer, aid: integer)
 Employees(eid: integer, ename: string, salary: integer)
 Tuliskan query dalam SQL :
 1. For all aircraft with cruisingrange over 1,000 miles, nd the name of
the aircraft and the
 average salary of all pilots certied for this aircraft.
 2. Find the names of pilots certied for some Boeing aircraft.
 3. Find the aids of all aircraft that can be used on routes from Los
Angeles to Chicago.
 4. Identify the flights that can be piloted by every pilot who makes
more than $100,000.
 (Hint: The pilot must be certied for at least one plane with a suciently
large cruising
20
 range.)
REFERENSI
 Referensi Wajib:
Raghu Ramakhrisnan, Johannes Gehrke
, “Database Management System” 6th
Edition, Mc Graw Hill,2006
(chapter : 5)
 Referensi Tambahan/dianjurkan:
David M.Kroenke, Database Concepts
4th Edition, Prentice Hall 2004
21
Download