Saturday, April 24, 2010

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