You are on page 1of 9

MODUL 8

PENGGUNAAN SELECT STATEMENT 2


A. Tujuan
1. Mahasiswa mampu menggunakan instruksi Create Table dan options-nya menggunakan
PostgreSQL untuk membuat tabel-tabel basis data sesuai kebutuhan.
2. Mahasiswa mampu memasukkan records ke dalam tabel-tabel basis data.
B. Dasar Teori
SELECT STATEMENTS digunakan untuk menentukan atau memilih data yang akan ditampilkan
ketika melakukanquery terhadap basis data. Struktur select statements di PostgreSQL adalah
sebagai berikut:
SELECT [ALL] | DISTINCT [N !e"pression# [$ %%%] # ] ]
&| e"pression [ AS output'name ] [$ %%%]
[ ()M *rom'item [$ %%%] ]
[ +,E)E condition ]
[ -)./ 01 e"pression [$ %%%] ]
[ ,A2IN- condition [$ %%%] ]
[ 3 .NIN | INTE)SECT | E4CE/T 5 [ ALL ] select ]
[ )DE) 01 e"pression [ ASC | DESC | .SIN- operator ] [$ %%%] ]
[ () ./DATE [ ( tablename [$ %%%] ] ]
[ LIMIT 3 count | ALL 5 ]
[ ((SET start ]
Conto6 SELECT7
Untuk melihat semua kolom dari suatu tabel:
SL!"# $%&M nasabah'
Untuk melihat kolom (-kolom) tertentu:
SL!" nama*nasabah $%&M nasabah'
SL!" id*nasabah+ nama*nasabah $%&M nasabah'
Se,ara umum:
SL!" $%&M '
Column Alias (AS)
-S digunakan untuk mengganti nama kolom pada tampilan SL!".
!ontoh:
- SL!" nama*nasabah -S ./ama /asabah0 $%&M nasabah'
- SL!" nama*nasabah -S ./asabah0+ alamat*nasabah -S .-lamat /asabah0 $%&M nasabah'
WHERE
1igunakan untuk membatasi hasil SL!" yang ditampilkan berdasarkan kondisi yang ditentukan.
!ontoh:
- SL!" nama*nasabah $%&M nasabah 23% nama*nasabah45-li "opan5 '
- SL!" nama*nasabah+ alamat*nasabah $%&M nasabah 23% id*nasabah42'
6isa menggunakan 7+ 8+ 8 7 (atau 94)+ 74+ 84
:unakan -/1 atau &% untuk lebih dari satu kondisi:
- SL!"# $%&M nasabah 23% nama*nasabah 4 ;%ina Marsudi5 -/1 alamat*nasabah 4 ;<l.
=usumanegara >?5'
- SL!"# $%&M nasabah 23% nama*nasabah 4 ;-li "opan5 &% id*nasabah42'
Pencarian NULL
:unakan @S /ULL untuk men,ari /ULL:
- SL!"# $%&M rekening 23% kode*,abang @S /ULL'
:unakan @S /&" /ULL untuk men,ari yang tidak /ULL:
- SL!"# $%&M rekening 23% kode*,abang @S /&" /ULL'
Pencarian String
:unakan L@= untuk men,ari string tertentu:
- SL!"# $%&M nasabah 23% nama*nasabah L@= ;-li "opan5'
6isa menggunakan A:
- SL!"# $%&M nasabah 23% alamat*nasabah L@= ;AnegaraA5'
6isa menggunakan * untuk 1 huruB:
- SL!"# $%&M nasabah 23% nama*nasabah L@= ;-li "*p*n5'
Untuk pen,arian yang case insensiti8e (tidak mempedulikan huruB besar atau ke,il)+ gunakan
@L@=:
- SL!"# $%&M nasabah 23% nama*nasabah @L@= ;Amarsudi5'
ORDER BY
1igunakan untuk mengurutkan hasil SL!".
Untuk mengurutkan dari ke,il ke besar:
- SL!"# $%&M nasabah &%1% 6C nama*nasabah'
Untuk mengurutkan dari besar ke ke,il:
- SL!"# $%&M nasabah &%1% 6C nama*nasabah 1S!'
Perhatian: Dika ada 23%+ maka &%1% 6C ditaruh sesudah 23%.
Untuk melakukan pengurutan lebih dari satu kolom+ pisahkan dengan tanda koma:
- SL!"# $%&M nasabah*has*rekening &%1% 6C no*rekening+ id*nasabah'
6isa menentukan 1S! untuk kolom (-kolom) tertentu+ misalnya:
- SL!"# $%&M nasabah*has*rekening &%1% 6C no*rekening+ id*nasabah 1S!'
- SL!"# $%&M nasabah*has*rekening &%1% 6C no*rekening 1S!+ id*nasabah'
LIMIT O!!SET
1igunakan untuk membatasi Dumlah baris yang ditampilkan dalam SL!".
!ontoh: Hanya menampilkan !aris per"ama#
- SL!"# $%&M nasabah &%1% 6C id*nasabah L@M@" >'
Menampilkan $ !aris se"ela% mele&a"i $ !aris per"ama#
- SL!"# $%&M nasabah &%1% 6C id*nasabah L@M@" 2 &$$S" 2'
Perhatian: penggunaan L@M@" sebaiknya selalu digunakan bersama dengan &%1% 6C+ sehingga
urutan yang ditampilkan akan selalu konsisten.
L@M@" dan &$$S" sangat berguna dalam tampilan yang berbasis web (melalui web browser
dengan menggunakan P3P atau <SP) agar tampilan data tidak terlalu besar dan bisa lebih rapi.
"ampilan data yang banyak bisa diatur dan dibagi menDadi beberapa halaman (pages).
TABLE "OIN
Ma,am tabel 9oin:
Cross "oin
- Menggabungkan semua re,ord dari tabel pertama dengan semua re,ord di tabel kedua.
- 6anyaknya re,ord dari ,ross Doin 4 Dumlah re,ord tabel pertama E Dumlah re,ord tabel kedua.
!ontoh:
SL!"# $%&M rekening !%&SS <&@/ ,abang*bank'
Inn#r "oin
- Menggabungkan dua (atau lebih) tabel berdasarkan attribute penghubung.
- Metode 1:
SL!"# $%&M rekening @//% <&@/ ,abang*bank US@/:(kode*,abang)'
- Metode 2:
SL!"# $%&M rekening @//% <&@/ ,abang*bank &/ rekening.kode*,abang 4
,abang*bank.kode*,abang'
- Metode >:
SL!"# $%&M rekening /-"U%-L @//% <&@/ ,abang*bank'
- Metode F:
SL!"# $%&M rekening+ ,abang*bank 23% rekening.kode*,abang 4
,abang*bank.kode*,abang'
- Perhatian: untuk @//% <&@/+ kita dapat menghilangkan kata ;@//%5. <adi+ ,ukup dengan kata
;<&@/5 saDa.
- 1engan metode F+ Dika kolo yang ingin ditampilkan ada di lebih dari 2 tabel+ maka harus
menentukan tabel mana yang diinginkan.
!ontoh:
SL!" nasabah.id*nasabah+ nama*nasabah+ no*rekening $%&M nasabah+ nasabah*has*rekening
23% nasabah.id*nasabah 4 nasabah*has*rekening.id*nasabah'
Ta$l# Alias
- Untuk kemudahan penulisan SQL+ kita bisa membuat table alias.
!ontoh:
SL!"# $%&M nasabah -+ nasabah*has*rekening 6 23% -.id*nasabah 4 6.id*nasabah'
SL!"# $%&M -.id*nasabah+ nama*nasabah+ no*rekening $%&M nasabah -+
nasabah*has*rekening 6 23% -.id*nasabah 4 6.id*nasabah'
Distin%t
- 1alam table Doin+ kadang-kadang ada inBormasi yang berulang. Untuk menghilangkan pengulangan
tersebut+ gunakan 1@S"@/!".
!ontoh:
SL!" 1@S"@/!" nama*nasabah+ alamat*nasabah $%&M nasabah /-"U%-L <&@/
nasabah*has*rekening'
- Perhatikan perbedaan dengan berikut:
SL!" nama*nasabah+ alamat*nasabah $%&M nasabah /-"U%-L <&@/ nasabah*has*rekening'
Rig&t Out#r "oin
- Menampilkan hasil Doin tabel pertama (sisi kiri) dengan tabel kedua (sisi kanan)+ serta
semua record di tabel kedua (sisi kananGri:6t):
SL!"# $%&M rekening /-"U%-L %@:3" &U"% <&@/ ,abang*bank'
- =etiga metode pertama yang telah disebutkan untuk @//% <&@/ Duga berlaku untuk %@:3"
&U"% <&@/+ yaitu dengan menggunakan US@/:+ &/+ atau /-"U%-L.
L#'t Out#r "oin
- Menampilkan hasil Doin tabel pertama (sisi kiri) dengan tabel kedua (sisi kanan)+ serta
semua record di tabel pertama (sisi kiriGle*t):
SL!"# $%&M rekening /-"U%-L L$" &U"% <&@/ ,abang*bank'
- =etiga metode yang telah disebutkan untuk %@:3" &U"% <&@/ Duga berlaku untuk L$" &U"%
<&@/+ yaitu dengan menggunakan US@/:+ &/+ atau /-"U%-L.
!ull Out#r "oin
- Menampilkan hasil Doin tabel pertama dengan tabel kedua+ serta semua record di tabel tersebut:
SL!"# $%&M rekening /-"U%-L $ULL &U"% <&@/ ,abang*bank'
- =etiga metode yang telah disebutkan untuk L$"G%@:3" &U"% <&@/ Duga berlaku untuk $ULL
&U"% <&@/+ yaitu dengan menggunakan US@/:+ &/+ atau /-"U%-L.
Out#r "oin
- Untuk L$" &U"% <&@/+ %@:3" &U"% <&@/+ dan $ULL &U"% <&@/+ bisa menghilangkan
kata ;&U"%5. <adi+ ,ukup menggunakan L$" <&@/+ %@:3" <&@/+ atau $ULL <&@/ saDa.
Inn#r "oin (s) Out#r "oin
1alam Inner ;oin: yang ditampilkan hanyalah hasil dari table 9oin yang berhasil+ yaitu
semua record yang berhubungan di kedua tabel yang digabungkan.
1alam uter ;oin: selain menampilkan hasil dari Inner ;oin$ uter ;oin Duga menampilkan
semua recordyang tidak berhubungan di kedua tabel yang digabungkan.
Multi*l# "oins
Untuk lebih dari 2 tabel+ tinggal diteruskan saDa <&@/nya. Misalnya:
- SL!"# $%&M nasabah /-"U%-L <&@/ nasabah*has*rekening /-"U%-L <&@/ rekening'
!ara lain:
- SL!"# $%&M nasabah -+ nasabah*has*rekening 6+ rekening ! where -.id*nasabah 4
6.id*nasabah -/1 6.no*rekening 4 !.no*rekening'
<ika melakukan multiple 9oin (lebih dari 2 tabel)+ harus memperhatikan urutan 9oin. Urutan table
9oin perlu mengikuti alur relations6ip yang tertera di % 1iagram.
&leh karena itu+ sebaiknya menggunakan % 1iagram agar bisa menghasilkan table 9oin yang
benar.
'. Ala" (an Ba%an
1. =omputer dengan sistem operasi 2indows H.
2. Program aplikasi PostgreSQL.
>. Modul Praktikum Sistem 6asis 1ata.
D. Lan)ka% *erja
1. "ampilkan nama nasabah+ nomor rekening+ pin+ dan saldo untuk semua rekening yang Dumlah
saldonya lebih dari %p 1.???.??? dan diurutkan berdasarkan nomor rekening dengan kode berikut:
SL!" nasabah.nama*nasabah+ rekening.no*rekening+ rekening.pin+ rekening.saldo $%&M
rekening+ nasabah+ nasabah*has*rekening 23%
nasabah.id*nasabah4nasabah*has*rekening.id*rekening$= -/1
rekening.no*rekening4nasabah*has*rekening.no*rekening$= -/1 rekening.saldo 7 1??????
&%1% 6C rekening.no*rekening'
2. "ampilkan nomor rekening+ pin dan saldo untuk semua rekening yang ada di 6ank %ut Unit =laten
dengan saldo maksimal %p 1.???.??? dan diurutkan berdasarkan nomor rekening dengan kode
berikut:
SL!" rekening.no*rekening+ rekening.pin+ rekening.saldo $%&M rekening+ ,abang*bank 23%
,abang*bank.nama*,abang456ank %ut Unit =laten5 -/1
rekening.kode*,abang$=4,abang*bank.kode*,abang -/1 rekening.saldo 84 1?????? &%1% 6C
rekening.no*rekening'
>. "ampilkan nama nasabah+ nomor rekening+ dan nama ,abang bank untuk semua nasabah yang telah
membuka rekening di suatu ,abang bank dan diurutkan berdasarkan nama ,abang bank dan nama
nasabah dengan kode berikut:
SL!" nasabah.nama*nasabah+ rekening.no*rekening+ ,abang*bank.nama*,abang $%&M
nasabah+ rekening+ ,abang*bank+ nasabah*has*rekening 23%
,abang*bank.kode*,abang4rekening.kode*,abang$= -/1
nasabah*has*rekening.no*rekening$=4rekening.no*rekening$= -/1
nasabah.id*nasabah4nasabah*has*rekening.id*nasabah$= &%1% 6C ,abang*bank.nama*bank+
nasabah.nama*nasabah'
F. "ampilkan nama nasabah dan alamat nasabah untuk semua nasabah yang memiliki rekening di
6ank %ut Unit Cogyakarta dan diurutkan berdasarkan nama nasabah dengan kode berikut:
SL!" nasabah.nama*nasabah+ nasabah.alamat*nasabah $%&M nasabah+ rekening+ ,abang*bank+
nasabah*has*rekening 23% ,abang*bank.nama*,abang456ank %ut Unit Cogyakarta5 -/1
,abang*bank.kode*,abang4rekening.kode*,abang$= -/1
nasabah*has*rekening.no*rekening$=4rekening.no*rekening -/1
nasabah.id*nasabah4nasabah*has*rekening.id*nasabah$= &%1% 6C nasabah.nama*nasabah'
I. "ampilkan nama nasabah+ alamat nasabah+ nomor rekening+ serta saldo untuk semua nasabah dan
semua rekening yang ada di database dan diurutkan berdasarkan nama nasabah dan nomor
rekening dengan kode berikut:
SL!" nasabah.nama*nasabah+ nasabah.alamat*nasabah+ rekening.no*rekening+ rekening.saldo
$%&M nasabah+ rekening+ nasabah*has*rekening 23%
nasabah*has*rekening.no*rekening$=4rekening.no*rekening -/1
nasabah.id*nasabah4nasabah.id*nasabah$= &%1% 6C nasabah.nama*nasabah+
rekening.no*rekening'
E. Analisa
1ari per,obaan di atas dapat saya simpulkan bahwa kita dapat menampilkan data sesuai kebutuhan
kita dengan menggunakan perintah yang tepat guna. Untuk menampilkan data dari dua tabel yang
berbeda kita perlu melihat relasi apa yang terdapat di antara dua tabel tersebut. 1engan demikian
kita bisa mengetahui atribut penghubungnya untuk kemudian diatur seperti pada per,obaan.
+. Tu)as
1. "ampilkan nomor rekening+ nama nasabah+ Denis transaksi+ dan Dumlah transaksi di mana Dulah
transaksi 4 %p 2?.???9
<awab:
2. "ampilkan nomor rekening+ nama nasabah dan alamat nasabah di mana nama nasabah diawali
dengan kata ;Su59
<awab:
>. "ampilkan nomor rekening dengan alias ;/omor %ekening5+ nama nasabah dengan alias ;/ama
/asabah5+ Dumlah transaksi dengan alias ;<umlah "ransaksi5 di mana Denis transaksinya adalah debit9
Urutkan berdasarkan nama nasabah9
<awab:

You might also like