Minggu, 18 September 2011

RESUME SQL 1 PERT. 2


SORTING DATA

Membatasi Baris Baris yang Dipilih

Anda bisa membatasi baris baris yang dihasilkan dari query dengan menggunakan klausa WHERE.
Suatu klausa WHERE berisi suatu kondisi yang harus terpenuhi, dan tepat setelah klausa FROM. Jika kondisinya benar, baris yang memenuhi kondisi dikembalikan.
Contoh:
SELECT *
FROM table
WHERE condition;
Dalam sintak:
WHERE membatasi query ke baris baris yang memenuhi kondisi
condition susunan nama nama kolom, ekspresi ekspresi, konstanta konstanta dan operator pembanding
Klausa WHERE dapat membandingkan nilai nilai dalam kolom kolom, nilai nilai literal, ekspresi ekspresi aritmatika atau fungsi fungsi (functions).
Klausa WHERE terdiri dari 3 bagian :
Nama kolom
Kondisi pembanding
Nama kolom, konstanta atau daftar nilai nilai

Karakter Karakter String dan Tanggal

Karakter karakter string (rangkaian) dan tanggal dalam klausa WHERE harus diapit dengan tanda petik satu (’ ’). Meskipun demikian, konstanta angka tidak harus diapit oleh tanda petik satu.
Semua pencarian karakter adalah case sensitive.
Dalam contoh berikut, tidak ada baris baris yang dihasilkan karena tabel EMPLOYEES menyimpan semua nama belakang dalam bentuk campuran (mixed case):
SELECT last_name, job_id, departement_id
FROM employees
WHERE last_name = ‘WHALEN’;
Database Oracle menyimpan tanggal dengan format angka sendiri, yang menunjukkan abad, tahun, bulan, hari, jam, menit dan detik. Default tanggal yang ditampilkan adalah DD-MON-RR.

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 = ’01JAN95’
. . . WHERE salary >= 6000
. . . WHERE last_name = ‘Smith’
Suatu alias tidak bisa digunakan dalam klausa WHERE.
Operator pembanding:
=                                  adalah sama dengan
>                                  adalah lebih besar dari
>=                                adalah lebih besar dari atau sama dengan
<                                  adalah kurang dari
<=                                adalah kurang dari atau sama dengan
<>                                adalah tidak sama dengan
BETWEEN…AND     adalah diantara dua nilai
IN(set)                         adalah beberapa sesuai dengan suatu daftar nilai
LIKE                           adalah sesuai suatu bentuk karakter
IS NULL                     adalah nilai null
Catatan : Simbol symbol != dan ^= juga dapat menunjukkan kondisi tidak sama dengan.

Menggunakan Kondisi BETWEEN

Anda dapat menampilkan baris baris berdasarkan rentang nilai menggunakan kondisi rentang
(range) BETWEEN. Rentang yang Anda  tentukan terdiri satu batas bawah dan satu batas atas.
Pernyataan SELECT pada slide menghasilkan baris baris dari tabel EMPLOYEES untuk beberapa pegawai yang mempunyai penghasilan antara $2,500 dan $3,500.
Nilai nilai yang telah ditentukan pada kondisi BETWEEN adalah inclusive (yang termasuk). Anda
harus menentukan batas bawah dulu.
Anda juga bisa menggunakan kondisi BETWEEN untuk nilai nilai huruf (karakter) :
SELECT last_name
FROM employees
WHERE last_name BETWEEN ‘King’ AND ‘Smith’;

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         (’ ’).

Menggunakan Kondisi LIKE

Anda mungkin tidak selalu tahu nilai pasti yang dicari . Anda dapat memilih baris baris
yang sesuai dengan pola karakter dengan menggunakan kondisi LIKE. Cara kerja (operation) pola karakter yang bersesuaian adalah seperti mengacu ke pencarian acak (wildcard search). Dua simbol yang dapat digunakan untuk membuat pencarian string (rangkaian).
Simbol
%         adalah Mewakili setiap urutan kosong atau beberapa karakter
_          adalah 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’;

Memgkombinasikan Pencarian Acak (Wildcard) Karakter Karakter

Simbol symbol % dan _ dapat digunakan pada setiap kombinasi dengan karakter karakter
literal.
Contoh pada slide menampilkan nama nama dari semua pegawai yang memiliki nama belakang
dengan huruf o sebagai karakter kedua.
Opsi ESCAPE
Saat Anda perlu untuk mendapatkan kepastian dari karakter karakter
% dan _, gunakan pilihan ESCAPE. Pilihan ini menentukan keluaran karakter (escape character) apa. Jika Anda ingin mencari rangkaian rangkaian (strings) yang berisi ’SA_’ , Anda dapat menggunakan pernyataan SQL berikut :
SELECT employee_id, last_name, job_id
FROM employees WHERE job_id LIKE ‘%SA\_%’ ESCAPE ‘\’;
Opsi ESCAPE ditandai backslash (\) sebagai keluaran karakter. Dalam pola, keluaran karakter
diawali underscore ( _ ). Hal ini menyebabkan server Oracle menafsirkan underscore secara harfiah (literally).

Menggunakan Kondisi Kondisi NULL

Kondisi kondisi NULL terdiri dari kondisi IS NULL dan kondisi IS NOT NULL. Kondisi IS NULL untuk menguji nullnull.
Nilai null berarti nilainya tidak ada (unavailable), tidak diberikan (unassigned), tidak diketahui (unknown) atau tidak dipakai (inapplicable). Oleh sebab itu, Anda tidak bisa menguji dengan = karena suatu null bukan sama atau tidak sama dengan dalam sembarang nilai. Contoh pada slide menghasilkan nama belakang dan manager manager dari para pegawai yang tidak mempunyai manager.
Berikut adalah contoh lainnya :
Untuk menampilkan nama belakang, job ID dan komisi dari semua pegawai yang ditandai tidak untuk menerima komisi, gunakan pernyataan SQL berikut:
SELECT last_name, job_id, commission_pct
FROM employees
WHERE commission_pct IS NULL;

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 adalah menghasilkan nilai TRUE jika kedua bagian adalah benar
OR    adalah menghasilkan nilai TRUE jika salah satu bagian adalah benar
NOT adalah menghasilkan nilai TRUE jika kedua bagian adalah salah
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 AND

Contoh:
SELECT employee_id, last_name job_id, salary
FROM employee
WHERE salary >=10000
AND Job_id LIKE ‘%MAN%’;
Dalam contoh, kedua kondisi harus benar untuk setiap record yang dipilih. Oleh sebab itu, hanya
Pegawai pegawai yang mempunyai suatu nama job yang berisi rangkaian kata ‘MAN’ dan
berpenghasilan $10,000 atau lebih yang dipilih.
Semua karakter yang dicari adalah case sensitive.
Tidak ada baris baris yang dihasilkan jika ’ MAN’ bukan huruf besar. Rangkaia nrangkaian karakter harus diapit oleh tanda petik.

Menggunakan Operator OR

Contoh
SELECT employee_id,last_name
FROM employees
WHERE salary >=10000
OR job_id LIKE ‘%MAN%’;
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.

Menggunakan Operator NOT

Contoh
SELECT last_name
FROM employees
WHERE job_id NOT IN (‘IT_PROG’, ‘ST_CLERK’, ‘SA_REP’);
Contoh tersebut menampilakan nama belakang dan job ID untuk semua pegawai dimana job ID bukan
IT_PROG, ST_CLERK, atau SA_REP.

Menggunakan klausa ORDER BY

Urutan dari baris baris yang dihasilkan dari suatu hasil query adalah tidak tetap. Klausa ORDER BY bisa digunakan untuk menyortir baris baris.
Jika Anda menggunakan klausa ORDER BY, ORDER BY harus berada diakhir pernyataan SQL. Anda bisa menentukan suatu ekspresi , suatu alias atau posisi kolom sebagai kondisi pensortiran.
Sintak
SELECT expr
FROM table
[WHERE condition(s)]
[ORDER BY {column,expr,numeric_position}[ASC|DESC]];
Dalam sintak :
ORDER BY menentukan suatu urutan dimana baris baris yang dihasilkan ditampilkan ASC mengurutkan baris baris dalam urutan ascending, ASC adalah default pengurutan
DESC mengurutkan baris baris dalam urutan descending Jika klausa ORDER BY tidak digunakan, urutan pensortiran tidak tetap, maka server Oracle mungkin tidak mengambil baris baris dalam urutan yang sama pada query yang sama untuk kedua kalinya. Gunakan
klausa ORDER BY untuk menampilkan baris baris dalam urutan tertentu

Tidak ada komentar:

Posting Komentar