• Tidak ada hasil yang ditemukan

A. Struktur SQL Query - 03. SQL Query

N/A
N/A
Protected

Academic year: 2018

Membagikan "A. Struktur SQL Query - 03. SQL Query"

Copied!
13
0
0

Teks penuh

(1)

Konsep Sistem Informasi B 

 

SQL QUERY

A. Struktur SQL Query

SQL memberikan bahasa query tingkat tinggi (a high level query language) dengan struktur sederhana dengan kosakata dan gramatika yang sederhana pula, seperti berikut ini:

Select A1, A2, …, An

From T1, T2, …, Tn

Where P

Dimana:

A1, A2, …, An : himpunan dari semua atribut yang hendak ditampilkan

T1, T2, …, Tn : himpunan dari semua tabel yang terlibat (diperlukan) dalam query P : predikat atau kriteria yang diinginkan tentang informasi yang dicari

SELECT dapat diikuti dengan: - Nama kolom

- Fungsi kolom - Ekspresi aritmatika - Fungsi skalar - Literal

FROM nama tabel atau nama view

WHERE kondisi (selection of rows)

GROUP BY nama kolom

HAVI NG kondisi (selection of groups)

ORDER BY nama kolom atau angka urutan kolom

(2)

Konsep Sistem Informasi B 

• Pada tabel infoprib memang sengaja ada data tanggal lahir yang bernilai NULL. Begitu juga pada tabel pegawai, terdapat gaji yang bernilai NULL.

• Pada tabel pegawai, kota menyatakan kota tempat tinggal dan depart menyatakan departemen tempat pegawai bekerja.

Menampilkan semua kolom semua baris

Seringkali diperlukan untuk menampilkan semua data yang terdapat pada sebuah tabel. Hal ini dapat dilakukan dengan menggunakan perintah berikut:

SELECT * FROM infoprib;

Contoh ini digunakan untuk menampilkan semua isi tabel infoprib.

Pernyataan di atas identik jika menulis menjadi seperti berikut:

SELECT id_bin, nama, tgl_lahir, jkel FROM infoprib;

Namun, tentu saja pengunaan tanda * lebih praktis daripada kalau menyebutkan semua nama kolom. Maka hasilnya adalah:

(3)

Konsep Sistem Informasi B 

 

Menampilkan kolom tertentu

Jika akan menampilkan hanya kolom-kolom tertentu, maka perlu menyebutkan nama-nama kolom sesudah kata SELECT. Dalam hal ini, antarnama kolom perlu dipisahkan dengan koma. Contoh:

SELECT nama, tgl_lahir

Sylvester Stallone 1946-07-06

Kevin Costner 1955-01-18

Memperoleh data yang unik

Sebelum melihat perolehan data yang bersifat unik (tidak ada yang kembar), cobalah untuk memberikan perintah berikut:

SELECT jkel

FROM infoprib;

maka akan menampilkan isi kolom jkel saja. seperti berikut ini:

(4)

Konsep Sistem Informasi B 

 

W W

Tampak bahwa hasil yang didapatkan banyak yang kembar.

Sekarang, bagaimana caranya kalau hasil yang dikendaki hanya berupa kemungkinan isi dari kolom jkel? Pada keadaan seperti inilah bisa menyisipkan kata DI STI NCT pada klausa SELECT seperti perintah berikut ini:

SELECT DI STI NCT jkel FROM infoprib;

Hasilnya dapat dilihat sebagai berikut:

Jkel ---- P W

Tampak bahwa hasil yang diberikan benar-benar mencerminkan kemungkinan isi dari kolom jkel. Nilai yang kembar hanya akan ditampilkan satu kali.

Contoh yang lain, jika ingin mengetahui di kota mana saja pegawai bertempat tinggal berdasarkan data pada tabel pegaw ai, maka dapat memberikan perintah berikut ini:

SELECT DI STI NCT kota FROM pegaw ai;

Maka hasilnya seperti tabel berikut ini:

Kota --- Bantul Klaten Magelang Sleman Yogya

Memilih baris tertentu

Jika menginginkan hasil hanya baris-baris tertentu, maka perlu menyertakan klausa WHERE pada pernyataan SELECT, maka bentuk klausanya sebagai berikut:

WHEREkondisi

Dengan kondisi berupa suatu ekspresi. Dalam hal ini, baris-baris yang disertakan hanyalah yang memenuhi kondisi.

Catatan:

Kondisi yang digunakan pada klausa WHERE sering disebut dengan istilah predikat.

Misalnya, ingin menampilkan semua nama bintang film wanita. Pernyataan yang perlu diberikan adalah:

(5)

Konsep Sistem Informasi B 

 

Maka hasilnya adalah sebagai berikut:

nama

--- Drew Barrymore Sharon Stone Christine Hakim Julia Roberts Demi Moore Cindy Crawford Cameron Diaz Sandra Bullock Kelly McGillis Angelina Jolie

Jika ingin menampilkan hanya sebuah baris yang memenuhi syarat, kondisi dalam WHERE perlu melibatkan kunci primer.

Contoh: SELECT *

FROM infoprib

WHERE id_bin = ‘DREWB’;

Maka hasilnya adalah data Drew Barrymore yang ditamplikan:

id_bin | nama | tgl_lahir | jkel

---+ ---+ ---+ --- DREWB | Drew Barrymore | 1975-02-22 | W

Perlu diketahui, operator = (dan juga operator relasional lainnya) tidak dapat digunakan untuk membandingkan terhadap nilai NULL. Sebagai contoh, pada perintah berikut ini:

SELECT nama FROM infoprib WHERE tgl_lahir = NULL;

Apakah perintah di atas akan menampilkan daftar bintang film yang tanggalnya tidak disebutkan? Ternyata tidak! Maka akan memperoleh hasil seperti berikut ini:

SELECT nama FROM infoprib WHERE tgl_lahir = NULL;

Empty set (0.38 sec)

Keterangan: Tanggal lahir yang bernilai NULL tidak ditampilkan

Sekalipun tgl_lahir bernilai NULL, perbandingan tgl_lahir = NULL tidak menghasilkan nilai benar, melainkan menimbulkan keadaan nalar yang disebut ‘tidak dikenal’.

Catatan:

Pada PostgreSQL, SELECT di depan menghasilkan seperti berikut:

nama

(6)

Konsep Sistem Informasi B 

 

Bila pembandingan dengan = NULL tidak dapat dilakukan pada sistem yang digunakan, persoalan ini dapat dipecahkan dengan menggunakan operator I S NULL.

B. Operator Pembanding SQL

Yang dimaksud dengan operator pembanding adalah operator yang digunakan untuk melakukan pembandingan antara dua buah nilai. Tabel berikut memperlihatkan semua operator pembanding atau relasional.

Operator Keterangan

= sama dengan

> lebih dari

< kurang dari

> = lebih dari atau sama dengan

< = kurang dari atau sama dengan

< > tidak sama dengan

Contoh penggunaan operator = telah didapatkan di depan. Sekarang untuk mencoba operator yang lain yaitu > . Operator ini biasa digunakan untuk membandingkan nilai numerik. Namun, operator ini sebenarnya dapat juga dapat digunakan untuk pembandingan string.

Contoh:

SELECT nama, tgl_lahir FROM infoprib

WHERE tgl_lahir > ‘19651231’

Pernyataan di atas akan menampilkan semua bintang film yang lahir sesudah tanggal 31 Desember 1965. Maka akan diperoleh hasil sebagaimana terlihat pada tabel berikut:

Nama | tgl_lahir

--- Drew Barrymore | 1975-02-22 Julia Roberts | 1967-10-28 Cindy Crawford | 1966-02-20 Cameron Diaz | 1972-08-30 Angelina Jolie | 1975-06-04

Adapun contoh berikut digunakan untuk menampilkan semua pegawai yang gajinya melebihi dari 2 juta:

SELECT nama_peg, gaji

FROM pegaw ai WHERE gaji > 2000000;

(7)

Konsep Sistem Informasi B 

 

nama_peg | gaji

---

Fuad Mawardi | 3000000

John Simatupang | 3600000

C. Operator Boolean

Operator ini digunakan untuk melakukan pemeriksaan suatu nilai dan membandingkannya dengan nilai atau kondisi yang lain. Operator boolean mencakup operator OR, AND, dan NOT.

1. Operator OR

Operator OR berguna untuk melakukan query dengan kondisi majemuk. Bentuk penggunaan OR adalah sebagai berikut:

kondisi_1

OR

kondisi_2

Hasil ekspresi dengan OR berupa benar (True) kalau terdapat kondisi yang bernilai benar. Tabel berikut merupakan daftar kemungkinan hasil ekspresi dengan OR

Kondisi_1 Kondisi_2 Hasil

Salah Salah Salah

Salah Benar Benar

Benar Salah Benar

Benar Benar Benar

Sebagai contoh dari operator OR:

SELECT *

FROM infoprib

WHERE jkel = ‘P’ OR id_bin = ‘STONE’;

Perintah di atas akan menampilkan semua baris yang memiliki nilai jkel berupa P ataupun baris yang memiliki nilai STONE pada kolom id_bin.

id_bin | nama | tgl_lahir | jkel ---+ ---+ ---+ ---- STONE | Sharon Stone | 1958-03-10 | W SYLVE | Sylvester Stallone | 1946-07-06 | P KEVI N | Kevin Costner | 1955-01-18 | P KEANU | Keanu Reeves | 1964-09-03 | P RGERE | Richard Gere | 1946-08-29 | P RAHAR | Slamet Rahardjo | | P

Berkaitan dengan nilai NULL, pada beberapa sistem selain keadaaan benar dan salah terdapat keadaan nalar yang telah disinggung di depan yaitu ‘tidak dikenal’. Keadaan ini terjadi kalau terdapat nilai NULL. Tabel berikut memberikan keadaan nalar yang terjadi pada pemakaian OR sekiranya terjadi kondisi ‘tak dikenal’.

(8)

Konsep Sistem Informasi B 

 

Tabel berikut adalah tabel kemungkinan hasil ekspresi OR, termasuk untuk keadaan nalar ‘tak dikenal’.

Kondisi_1 Kondisi_2 Hasil

Tak dikenal Salah Tak dikenal

Tak dikenal Benar Benar

Tak dikenal Tak dikenal Tak dikenal

Salah Tak dikenal Tak dikenal

Benar Tak dikenal Benar

Tabel berikut memperlihatkan isi tabel infoprib secara keseluruhan.

id_bin nama tgl_lahir jkel

DREWB Drew Barrymore 1975-02-22 W

STONE Sharon Stone 1958-03-10 W

SYLVE Sylvester Stallone 1946-07-06 P

KEVI N Kevin Costner 1955-01-08 P

HAKI M Christine Hakim 1957-12-25 W

JULI A Julia Roberts 1967-10-28 W

DEMI M Demi Moore 1962-11-11 W

CI NDY Cindy Crawford 1966-02-20 W

CDI AZ Cameron Diaz 1972-08-30 W

KEANU Keanu Reeves 1964-09-02 P

SANDR Sandra Bullock 1964-07-26 W

RGERE Richard Gere 1946-08-29 P

RAHAR Slamet Rahardjo NULL P

KELLY Kelly McGilis 1957-07-09 W

JOLI E Angelina Jolie 1975-06-04 W

Sekarang, mencoba memberikan perintah berikut:

SELECT nama, tgl_lahir

FROM infoprib

(9)

Konsep Sistem Informasi B 

 

Hasilnya dapat dilihat pada berikut:

nama tgl_lahir

Drew Barrymore 1975-02-22

Sharon Stone 1958-03-10

Christine Hakim 1957-12-25

Julia Roberts 1967-10-28

Demi Moore 1962-11-11

Cindy Crawford 1966-02-20

Cameron Diaz 1972-08-30

Sandra Bullock 1964-07-26

Kelly McGilis 1957-07-09

Angelina Jolie 1975-06-04

Hasil pada sistem yang menolak ekspresi tgl_lahir = NULL. Tampak bahwa tidak ada baris yang kolom tgl_lahir-nya bernilai NULL.

2. Operator AND

Kaidah pemakaian operator AND adalah seperti berikut:

kondisi_1

AND

kondisi_2

Operator ini memiliki sifat sebagaimana terlihat pada Tabel berikut:

Kondisi Benar Salah Tak dikenal

Benar Benar Salah Tak dikenal

Salah Salah Salah Salah

Tidak dikenal Tak dikenal Salah Salah

Untuk memudahkan dalam mengingat, dapat menggunakan pedoman berikut:

- Apapun bila di-AND-kan dengan nilai salah akan menghasilkan nilai salah - Hasil benar hanya kalau kedua kondisi bernilai benar

- Nilai benar jika di-AND-kan dengan nilai ‘tak dikenal’ akan menghasilkan nilai ‘tak dikenal’.

Contoh berikut digunakan untuk menampilkan semua bintang film pria yang lahir sebelum tahun 1950:

SELECT nama, tgl_lahir FROM infoprib

(10)

Konsep Sistem Informasi B 

 

Maka akan diperoleh hasil sebagai berikut:

nama | tgl_lahir

---+ --- Sylvester Stallone | 1946-07-06 Kevin Costner | 1955-01-18 Richard Gere | 1946-08-29

3. Operator NOT

Operator NOT berguna untuk melakukan pembalikan nilai nalar. Kaidah pemakaiannya adalah sebagai berikut:

NOT kondisi

Hasil ekspresi ditunjukkan pada tabel berikut:

Ekspresi Hasil

NOT Benar Salah

NOT Salah Benar

NOT ‘Tak Dikenal’ ‘tak dikenal’

Contoh berikut memberikan gambaran penggunaan NOT

SELECT nama

FROM infoprib

WHERE NOT jkel = ‘P’;

Maka diperoleh hasil daftar bintang film yang mempunyai jenis kelamin wanita:

nama

--- Drew Barrymore Sharon Stone Christine Hakim Julia Roberts Demi Moore Cindy Crawford Cameron Diaz Sandra Bullock Kelly McGillis Angelina Jolie

Pernyataan di atas identik dengan pernyataan:

SELECT nama

FROM infoprib

WHERE jkel = ‘W’;

(11)

Konsep Sistem Informasi B 

 

SELECT nama, tgl_lahir FROM infoprib

WHERE NOT ( tgl_lahir > ‘19491231’ AND

( tgl_lahir < ‘19600101’;

Maka akan diperoleh hasil daftar bintang film yang tidak lahir pada tahun 1950-an:

Nama | tgl_lahir

---+ ---- Drew Barrymore | 1975-02-22 Sylvester Stallone | 1946-07-06 Julia Roberts | 1967-10-28

Demi Moore | 1962-11-11

Cindy Crawford | 1966-02-20 Cameron Diaz | 1972-08-30 Keanu Reeves | 1964-09-02 Sandra Bullock | 1964-07-06 Richard Gere | 1946-08-29 Angelina Jolie | 1975-06-04

D. Pencarian String

Operator LI KE digunakan untuk membentuk pencarian string yang sesuai dengan nilai yang dicantumkan pada kondisi. Kondisi pencarian dapat berisi karakter atau bilangan dengan menggunakan 2 (dua) simbol khusus, yaitu:

1. % , berfungsi untuk menotasikan zero atau banyak karakter, atau menggantikan sembarang jumlah karakter

2. _ (underscore), berfungsi menotasikan atau menggantikan satu karakter

Contoh Menggunakan kondisi LI KE:

SELECT id_bin, nama, tgl_lahir, jkel

FROM infoprib

WHERE nama LI KE ‘D% ’;

SELECT id_bin, nama, tgl_lahir, jkel

FROM infoprib

WHERE nama LI KE ‘% D’;

SELECT id_bin, nama, tgl_lahir, jkel

FROM infoprib

WHERE nama LI KE ‘% D% ’;

SELECT id_bin, nama, tgl_lahir, jkel

FROM infoprib

WHERE nama LI KE ‘_a’;

E. Penggunaan Distinct

(12)

Konsep Sistem Informasi B 

 

Sebelum menggunakan distinct maka terlihat perolehan data yang tidak bersifat unik (banyak nilai yang kembar), cobalah untuk memberikan perintah berikut:

SELECT jkel

FROM infoprib;

maka akan menampilkan isi kolom jkel saja. seperti berikut ini:

jkel ---- W W P P W W W W W P W P P W W

Tampak bahwa hasil yang didapatkan banyak yang kembar.

Sekarang, bagaimana caranya kalau hasil yang dikehendaki hanya berupa kemungkinan isi dari kolom jkel? Pada keadaan seperti inilah bisa menyisipkan kata DI STI NCT pada klausa SELECT seperti perintah berikut ini:

SELECT DI STI NCT jkel FROM infoprib;

Hasilnya dapat dilihat sebagai berikut:

Jkel ---- P W

Tampak bahwa hasil yang diberikan benar-benar mencerminkan kemungkinan isi dari kolom jkel. Nilai yang kembar hanya akan ditampilkan satu kali.

Contoh yang lain, jika ingin mengetahui di kota mana saja pegawai bertempat tinggal berdasarkan data pada tabel pegaw ai, maka dapat memberikan perintah berikut ini:

SELECT DI STI NCT kota FROM pegaw ai;

(13)

Konsep Sistem Informasi B 

 

Kota --- Bantul Klaten Magelang Sleman Yogya

Referensi:

http: / / mhs.stiki.ac.id/ boysagi/ Software/ bdl/ bukudb11.doc

http: / / elearning.gunadarma.ac.id/ docmodul/ modul_kursus_db2_universal_database/ 7_sql_queries.p df

http: / / courseware.politekniktelkom.ac.id/ BUKU_KA/ Semester% 203/ I S222% 20Pemrograman% 20We b/ Pemrograman% 20Web.pdf

Gambar

Tabel infoprib
Tabel pegawai
Tabel berikut adalah tabel kemungkinan hasil ekspresi OR, termasuk untuk keadaan nalar ‘tak dikenal’

Referensi

Dokumen terkait

Data yang diperoleh berdasarkan jenis rokok yang dihisap, bahwa pasien dengan penyakit PJK sebagian besar menghisap jenis rokok kretek dengan jumlah 34 orang (49,3%) dan

penelitian ini akan dilaksanakan sejak bulan Maret sampai Juli 2017 dengan judul “ Pemanfaatan Pangkasan Colopogonium mucunoides Sebagai Pupuk Hijau Terhadap

Judul skripsi :Pengaruh Promosi dan Harga Terhadap Keputusan Pembelian Viva Kosmetik Pada Mahasiswi Fakultas Ekonomi dan Bisnis Universitas Muhammadiyah Palembang. Telah

Dalam tugas akhir ini, akan dikembangkan program sistem pencatatan pemakaian fasilitas, yang digunakan untuk penghitungan biaya sewa pada sebuah fasilitas yang harus

Setelah membaca, meneliti dan merevisi seperlunya, kami berpendapat bahwa Tesis saudari RAFIK ABDILAH yang berjudul: ” Perbandingan Manajemen Pendidikan Akhlak

• Teori Ekologis Komunikasi Visual, menjelaskan bahwa komunikasi visual lebih berhubungan secara intrinsik dengan sifat ruang dalam lingkungan: layout, komposisi, pencahayaan,

Vi hade en förhoppning på att detta även skulle kunna leda till minskade behandlingar mot ledinflammationer i de olika besättningarna, men här har vi för lite försöksresultat och