Selasa, 14 Desember 2010

operasi di oracle


  1. ROWNUM
ROWNUM adalah pseudocolumn, dan nilainya dihasilkan sesaat sebelum rowset dikembalikan.Dgn demikian nilai rownum bisa berubah-ubah bergantung bagaimana hasil querynya, shg row yang sama(ROWID sama)bisa menghasilkan rownum yg berbeda.
Ex :
SELECT empno, sal
FROM emp
WHERE sal > 2000 AND ROWNUM < 10; -- menghasilkan 10 baris data

  1. DISTINCT
Digunakan apabila kita ingin menghilangkan duplikasi dari hasil query (hasil query yang sama ditampilkan sekali).
Misal, untuk menampilkan nomor-nomor anggota yang sedang meminjam atau belum mengembalikan
Ex:
SELECT DISTINCT NoAnggota FROM Peminjaman

  1. ORDER BY
Tampilan dari SELECT dapat disusun (sort) menurut satu atau beberapa kolom dengan menggunakan statement ORDER BY. Susunan dapat diatur secara menurun (ascending) atau menaik (descending)
Ex:
SELECT CustomerID, CompanyName, ContactName
FROM Customer
ORDER BY Customer ID

  1. HAVING
Jika untuk filter query biasa kita menggunakan klause where, maka klausa having digunakan untuk filter fungsi-fungsi aggregate.
Ex:
SELECT idPenerbit, COUNT(*) FROM koleksi
GROUP BY idPenerbit HAVING COUNT(*)>10

  1. IN / NOT IN
Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai, yang mana kumpulan nilai bisa berupa:
- nilai-nilai yang diisikan
- query tunggal (query yg hasilnya hanya terdapat sebuah kolom saja)

Nilai-nilai yang diisikan, maksudnya kita sendiri yang mengisikan nilai-nilai tersebut di dalam query kita. Misalnya:
- menampilkan koleksi yang jenisnya buku dan majalah (idTipeKoleksi=1 atau 2):SELECT * FROM koleksi WHERE idTipeKoleksi IN (1, 2)
- menampilkan anggota yang selain mahasiswa atau dosen (idJenisAnggota selain 1 dan 3)
SELECT * FROM anggota WHERE IDJenisAnggota NOT IN (1, 3)

  1. LIKE / NOT LIKE
Fungsi ini khusus untuk string. Operasi ini, hanya untuk pembandingan nilai bertipe string. Digunakan untuk mengenali string-string yang memiliki pola tertentu. Di dalam operasi ini, digunakan simbol-simbol berikut:
- simbol % artinya mewakili 0 s/d tak terhingga dari sembarang karakter.
- simbol _ artinya mewakili 1 sembarang karakter.
misal:
- menampilkan anggota yang nama depannya: “Budi”
SELECT * FROM anggota WHERE Nama LIKE “Budi%”
- menampilkan Anggota yang huruf ketiga namanya adalah “d”
SELECT * FROM anggota WHERE Nama LIKE “_d%”
- menampilkan koleksi yang judulnya terdapat kata “pemrograman”:
SELECT * FROM koleksi WHERE Judul LIKE “%pemrograman%”


  1. EXIST / NOT EXIST
EXIST digunakan untuk pengecekan apakah suatu query memiliki hasil atau tidak.
Syntaks:SELECT columns
FROM tables
WHERE EXISTS ( subquery );

NOT EXIST digunakan untuk mengetahui suatu nilai dalam satu table dimana tidak memiliki kesamaan dengan table lain. Syntaks:
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS
(SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type);

  1. NVL
Fungsi NVL digunakan untuk menggantikan null value dengan nilai lain nya.
Sintak:
NVL( value_in, replace_with )

  1. CONCAT
Untuk menggabungkan dua string atau lebih
update pegawai_detail
set telp_pegawai = concat('031', telp_pegawai)
where telp_pegawai not like '031%';

  1. TO_CHAR
fungsi yang digunakan untuk konversi sebuah NUMBER atau DATE menjadi STRING
syntax : to_char( value, [ format_mask ], [ nls_language ] )
value : nilai yang akan di convert bisa DATE ataupun NUMBER
format_mask : format output (optional)
nls_language : bahasa nls (optional)
contoh :
to_char(‘12/5/2010’,’dd/month/yyyy’) outputnya 12/May/2010

  1. ADD_MONTHS
fungsi yang me-return tipe data DATE berupa Tanggal + n Bulan
syntax : add_months(date1,n)
date1 :tanggal awal
n : jumlah bulan yang akan ditambahkan
contoh : add_months(’05-Aug-2010’,3) outputnya 05-Nov-2010

  1. MONTHS_BETWEEN
fungsi yang me-return nilai dari sebuah bulan antara dua buah tanggal.
Syntax : months_between (date1,date2)
Date1 dan date2 adalah tanggal yang digunakan untuk menghitung selisih bulan.
Contoh :months_between (to_date ('2003/08/02', 'yyyy/mm/dd'), to_date ('2003/06/02', 'yyyy/mm/dd') )akan me -return 2

Tidak ada komentar:

Posting Komentar