Transcript 10. SQL-2
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