Query Language (2)
Fungsi-Fungsi Aggregate
- COUNT(*)
Untuk mendapatkan jumlah baris
SELECT COUNT(*) FROM ANGGOTA
- MAX(field)
Untuk mendapatkan nilai maksimum
SELECT MAX(year(Tgl_Lahir)) FROM PEGAWAI
- MIN(field)
Untuk mendapatkan nilai minimum
SELECT MIN(year(Tgl_Lahir)) FROM PEGAWAI
- SUM(field)
Untuk mendapatkan hasil penjumlahan kolom
- AVG(field)
Untuk mendapatkan nilai rata-rata
- MEDIAN(field)
Untuk mencari nilai tengah
Group By
- Digunakan untuk pengelompokna dari fungsi-fungsi aggregate.
- Untuk menampilkan jumlah pegawai perjenis kelamin
SELECT JK, COUNT(*) FROM PEGAWAI GROUP BY JK
- Untuk menampilkan rata-rata gaji per pegawai
SELECT ID_PEG, AVG(GAJI) FROM PENGGAJIAN GROUP BY ID_PEG
Having
- Digunakan untuk memfilter fungsi-fungsi aggregate.
untuk menampilkan jumlah buku per kode penerbit, tetapi hanya yang jumlahnya > 10
SELECT ID_PENERBIT, COUNT(*) FROM KOLEKSI GROUP BY ID_PENERBIT HAVING COUNT(*) > 10
Nested Query
- Suatu statement pada SQL dimana terjadi query didalam query, atau disebut juga subquery.
Contoh : select * from a_obat a where a.id_obat not in (select b.id_obat from a_rincian_penjualan b)
Operasi Lain-Lain
- TOP / ROWNUM
Untuk menampilkan data pada baris yang kurang dari n.
select top 3 nama_obat from a_obat
select id_obat from a_obat where rownum <= 3
- CONCAT
Untuk menggabungkan dua buah string menjadi satu.
select concat(nama_obat, keterangan_obat) from a_obat
- NVL
Untuk menggantikan nilai null menjadi nilai yang diketahui.
select nama_apoteker, NVL(notelp_apoteker, ‘Tidak Terdaftar') from a_apoteker
- ABS
Untuk mengubah tanda negatif pada suatu angka atau perhitungan menjadi positif.
select ABS(jumlah-harga_satuan) from a_rincian_penjualan
- POWER
Digunakan untuk menampilkan hasil m pangkat n. Dengan syntax yaitu power (m,n).
select power (3,2) from dual
- TO_CHAR
Untuk mengkonversi data bertipe date atau number menjadi karakter.
select to_char (sysdate,'DD MONTH YY') from dual
- ADD_MONTHS
Untuk menambahkan beberapa bulan kedepan jika positif, dan mengurangi beberapa bulan kebelakang jika negatif.
select ADD_MONTHS (tanggal_pembelian, 5) from a_pembelian
- MONTHS_BETWEEN
Untuk menghitung selisih bulan antar date1 dan date2.
select months_between (sysdate, '30-APR-09') from dual
- INNER JOIN
Hasil query dengan inner join hanya menampilkan baris-baris yang terdapat relasi antara dua buah tabel.
- SELF JOIN
Self join adalah hubungan antara suatu tabel dengan tabel itu sendiri. Hal ini dimungkinkan dengan menggunakan alias tabel sehingga seolah-olah terdapat dua tabel.
- OUTER JOIN
Outer join akan menghasilkan semua data dari sebuah tabel dan membatasi data dari tabel lainnya.
Ada 3 macam outer join, yaitu :
- Semua baris dari table sebelah kiri diacu dengan sebuah left outer join
- Semua baris dari table sebelah kanan diacu oleh right outer join
- Semua baris dari kedua table dihasilkan oleh sebuah full outer join
No comments:
Post a Comment