SMBD 8
SINGLE ROW AND GROUP FUNTION
Secara garis
besar Oracle database built-in function dibagi dalam dua bagian, yaitu:
·
Single-row function :
Memproses
satu baris data pada satu saat dan memberikan satu output untuk setiap satu
baris
data masukan. Contoh
single-row functions adalah UPPER yang berfungsi mengubah data
input menjadi
huruf kapital
·
Group Function :
Memproses
multi-row data pada saat bersamaan dan memberikan satu output. Contoh group
function adalah SUM
untuk menghitung nilai total.
A. Single-row
function
Berdasarkan tipe data yang diproses,
single-row function dibagi menjadi lima jenis, yaitu:
1. Character
Function digunakan
untuk memproses data karakter.
2. Numeric
Function digunakan
untuk memproses data numerik.
3. Date Function
digunakan
untuk memproses data tanggal.
4. Convension
Function digunakan
untuk melakukan konversi data.
5. General
Function merupakan
function yang bisa digunakan untuk memproses semua
tipe data.
1. CHARACTER
FUNCTION
Character
function menerima input berupa karakter yang diambil dari kolom pada tabel
atau berupa
ekspresi. Berikut ini beberapa contoh character function:
Ø ASCII ( ) dan CHR ( )
Digunakan
untuk menampilkan nilai ASCII dari karakter X dan CHR(x) berfungsi
sebaliknya untuk
mengembalikan karakter dari suatu nilai ASCII.
SQL>
select ascii(‘a’), ascii(‘A’),
2
Aascii (‘z’), ascii (‘t’), ascii (‘I’)
3
from dual;
Ø CONCAT
( )
Concat(x,y)
digunakan
untuk menggabungkan karakter string x dan y. Berikut ini
perintah untuk
menggabungkan nilai dari kolom.
(Sekarang kita
menggunakan tabel barang pada user sales)
SQL>
select concat(NAMA_BRG,KETERANGAN)
2
from barang where kode_brg=10011;
Ø INITCAP( ), LOWER ( ) dan UPPER( )
Ketiga
fungsi ini biasa disebut dengan case-manipulation. INITCAP(x) untuk
mengubah
karakter awal suatu kata dari string x menjadi huruf kapital. LOWER(x)
untuk mengubah
string (x) menjadi huruf kecil sedangkan UPPER(x) digunakan untuk
mengubah string (x)
menjadi huruf kapital.
SQL> select ‘belajar oracle’ as ‘string”,
2 INITCAP (‘belajar oracle’) as “Initcap”,
3 LOWER (‘belajar oracle’) as “lower”,
4 UPPER (‘belajar oracle’) as “upper”,
5 from dual;
Ø SUBSTR( )
SUBSTR(x,
y [,z] ) digunakan untuk menampilkan substring mulai dari posisi y
sebanyak z
karakter dari string x. Jika nilai z tidak ditentukan maka akan ditampilkan
mulai dari
posisi y sampai karakter terakhir. Jika nilai y negatif (-) maka posisi
karakter diambil dari
sisi kanan atau belakang string.
Ø KOMBINASI CHARACTER FUNCTION
Kombinasi
dari beberapa character function bisa dilakukan dengan menjadikan hasil
dari suatu
function sebagai parameter untuk function berikutnya. Hal seperti ini biasa
disebut nested
function. Sebagai contoh adalah kombinasi antara function LOWER,
SUBSTR dan
CONCAT berikut ini untuk menghasilkan email pelanggan.
Berikut ini isi tabel
pelanggan:
2. NUMERIC
FUNCTION
Ø FLOOR ( )
Floor
(x) digunakan untuk pembulatan ke bawah dari nilai desimal x
SQL> select floor(5.1),
floor(5.9)
2 from dual;
Ø MOD ( )
SQL>
select mod(7,2)
2
from dual;
Ø MAX ( ) dan MIN ( )
MAX ( ) digunakan untuk
mencari nilai paling tinggi dari kelompok data x.
MIN ( ) digunakan untuk
mencari nilai yang paling rendah dari kelompok data x.
SQL> select max(harga_jual),
2 min(harga_jual)
3 from
barang;
Ø STDDEV( )
Digunakan untuk
menghitung nilai standar deviasi dari kelompok data x. Standar
deviasi adalah
fungsi statistik yang didefinisikan sebagai square root dari nilai
variance
Ø SUM ( )
Digunakan untuk
menghitung jumlah total dari data yang ada di kelompok data x.
SQL>
select sum (total)
2 from
jual;
Mengelompokkan
data menggunakan GROUP BY
GROUP BY digunakan untuk
mengelompokkan data berdasarkan suatu kriteria pada
perintah select.
SQL>
select id_plg, sum (total) “Total Penjualan”
2 from jual
3 group by id_plg;
Ø Menyeleksi Hasil GROUP BY dengan HAVING
Pada
single-row function klausa where digunakan untuk menyeleksi data berdasarkan
kriteria
tertentu. Prinsip kerja klausa HAVING sama dengan klausa WHERE, tetapi
klausa HAVING digunakan
untuk menyeleksi data hasil dari group function.
SQL>
select id-plg, sum(total) “Total Penjualan”
2 from jual
3 having avg(total)
Group
by id_plg;
Untuk lbih detailnya,silahkan coba aja yaa
biar lebih tau seperti apa hasilnya.moga bermanfaat.
Tidak ada komentar:
Posting Komentar