Where Clouse PDF
Where Clouse PDF
Tujuan
Saat data diambil dari database, Anda mungkin perlu untuk melakukan hal berikut :
Membatasi baris-baris pada data yang ditampilkan
Menentukan urutan baris-baris mana yang akan ditampilkan
Pelajaran ini menjelaskan pernyataan SQL yang Anda gunakan untuk menjalankan aksi-aksi tersebut.
Kondisi-Kondisi Pembanding
Kondisi-kondisi pembanding adalah digunakan dalam kondisi-kondisi yang membandingkan satu
ekspresi dengan nilai atau ekspresi lain. Kondisi-kondisi tersebut digunakan dalam klausa WHERE
dengan format sebagai berikut :
Sintak :
. . . WHERE expr operator value
Contoh
. . . WHERE hire_date = ’01-JAN-95’
. . . WHERE salary >= 6000
. . . WHERE last_name = ‘Smith’
Suatu alias tidak bisa digunakan dalam klausa WHERE.
Catatan : Simbol-simbol != dan ^= juga dapat menunjukkan kondisi tidak sama dengan.
Menggunakan Kondisi IN
Untuk menguji nilai dalam suatu kelompok nilai-nilai tertentu, gunakan kondisi IN. Kondisi IN
disebut juga sebagai membership condition .
Contoh pada slide menampilkan nomor pegawai, nama belakang, penghasilan dan nomor manajer
para pegawai untuk semua pegawai dimana nomor manajer para pegawai adalah 100, 101 atau 201.
Kondisi IN dapat digunakan pada setiap tipe data. Contoh berikut ini menghasilkan suatu baris dari
tabel EMPLOYEES untuk beberapa pegawai yang mempunyai nama belakang termasuk dalam daftar
nama-nama pada klausa WHERE :
SELECT employee_id, manager_id, departement_id
FROM employees
WHERE last_name IN (‘Hartstein’,’Vargas’);
Jika karakter-karakter atau tanggal digunakan dalam daftar, harus diapit oleh tanda petik satu
(’ ’).
Simbol Keterangan
% Mewakili setiap urutan kosong atau beberapa karakter
_
Mewakili setiap karakter tunggal
Pernyataan SELECT pada slide menghasilkan nama depan pegawai dari tabel EMPLOYEES untuk
beberapa pegawai yang memiliki nama depan yang diawali dengan huruf S. Catatan huruf besar S.
Nama-nama yang diawali dengan suatu huruf s tidak ditampilkan.
Kondisi LIKE dapat digunakan sebagai suatu shortcut (jalan pintas) untuk beberapa perbandingan
BETWEEN. Contoh berikut menampilkan nama belakang dan tanggal mulai bekerja dari semua
pegawai yang bergabung antara bulan Januari 1995 dan Desember 1995 :
SELECT last_name, hire_date
FROM employees
WHERE hire_date LIKE ‘%95’;
Opsi ESCAPE ditandai backslash (\) sebagai keluaran karakter. Dalam pola, keluaran karakter
diawali underscore ( _ ). Hal ini menyebabkan server Oracle menafsirkan underscore secara harfiah
(literally).
16 rows selected.
Kondisi-Kondisi Logika
Suatu kondisi logika menggabungkan hasil dari dua bagian kondisi-kondisi untuk menghasilkan
hasil tunggal berdasarkan kondisi-kondisi tersebut, atau kondisi-kondisi logika membalik hasil dari
suatu kondisi tunggal. Satu baris dikembalikan, hanya jika hasil secara keseluruhan dalam suatu
kondisi adalah benar (true).
Tiga operator logika yang ada pada SQL:
AND
OR
NOT
Semua contoh-contoh sejauh ini ditentukan hanya satu kondisi dalam klausa WHERE. Anda dapat
menggunakan beberapa kondisi dalam satu klausa WHERE menggunakan operator AND dan OR.
Menggunakan Operator OR
Dalam contoh, salah satu kondisi bisa bernilai benar untuk sembarang record yang dipilih. Oleh
karena itu beberapa pegawai yang mempunyai job ID yang berisi rangkaian kata ‘MAN’atau
berpenghasilan $10,000 atau lebih yang dipilih.
Tabel Kebenaran OR
Tabel berikut ini menampilkan hasil-hasil dari kombinasi dua ekspresi dengan OR :
Catatan : Operator NOT bisa juga digunakan bersama operator-operator SQL yang lain, seperti
BETWEEN, LIKE dan NULL.
. . . WHERE job_id NOT IN (‘AC_ACCOUNT’,’AD_VP’)
. . . WHERE salary NOT BETWEEN 10000 AND 15000
. . . WHERE last_name NOT LIKE ’%A%’
. . . WHERE commission_pct IS NOT NULL
Aturan-aturan Precedence
Aturan-aturan precedence (aturan yang harus didahulukan) menentukan urutan ekspresi mana yang
harus dievaluasi dan dihitung. Daftar tabel diatas adalah default urutan precedence. Anda bisa
mengabaikan default urutan dengan menggunakan tanda kurung disekitar ekspresi yang ingin Anda
hitung pertama kali.
Contoh
1. Untuk membalik urutan baris-baris mana yang ditampilkan , tentukan keyword (kata kunci)
DESC setelah nama kolom pada klausa ORDER BY. Dalam slide dicontohkan hasil
pensortiran per pegawai yang paling baru diterima.
2. Anda dapat menggunakan kolom alias pada klausa ORDER BY. Dalam slide dicontohkan
pensortiran data per penghasilan tahunan.
3. Anda dapat mensortir hasil-hasil query dengan lebih dari satu kolom. Batas pensortiran
adalah sejumlah kolom-kolom yang ada dalam tabel. Dalam klausa ORDER BY, tentukan
kolom-kolom dan pisahkan nama-nama kolom menggunakan koma. Jika Anda
menginginkan untuk membalik urutan suatu kolom, tentukan DESC setelah nama-nama
kolom tersebut.
Substitution Variables
Contoh-contoh sejauh ini telah memberikan kode tetap (hard-coded). Dalam suatu aplikasi akhir,
seorang user ingin laporan cepat dan laporan berjalan tanpa peringatan lebih jauh. Jarak antar data
ingin ditentukan sebelumnya melalui klausa WHERE tetap dalam file script iSQL*Plus.
Dengan menggunakan iSQL*Plus, Anda bisa membuat laporan yang mengingatkan user untuk
menyediakan nilai-nilai mereka sendiri untuk membatasi jarak antar data yang dihasilkan dengan
menggunakan substitution variables (variabel-variabel pengganti). Anda bisa menyimpan
substitution variables dalam file command atau dalam pernyataan SQL tunggal. Suatu variabel bisa
disebut sebagai suatu penampung dimana nilai-nilai disimpan untuk sementara. Saat perintah
dijalankan, nilai akan terganti.
Notasi Penjelasan
&user_variabel Menandakan suatu variable dalam pernyataan SQL;jika variable tidak
ada, iSQL*Plus mengingatkan user akan suatu nilai (iSQL*Plus
membuang suatu variable baru sekali setiap penggunaan.)
Contoh pada slide membuat suatu variable pengganti iSQL*Plus untuk nomor pegawai. Saat
perintah dieksekusi, iSQL*Plus mengingatkan user akan satu nomor pegawai dan menampilkan
nomor pegawai, nama belakang, penghasilan, dan nomor departemen untuk pegawai tersebut.
Dengan single-ampersand, user diingatkan setiap kali perintah dieksekusi, jika variable tidak ada.
Ringkasan
Dalam pelajaran ini, Anda sudah mempelajari tentang pembatasan dan pensortiran baris-baris yang
dihasilkan oleh pernyataan SELECT. Anda juga sudah mempelajari bagaimana menerapkan beragam
operator-operator dan kondisi-kondisi.
Dengan menggunakan substitution variables iSQL*Plus, Anda dapat menambah keleluasaan pada
pernyataan SQL Anda. Anda dapat meng-query user-user saat berjalan dan memungkin mereka
untuk menentukan kriteria.