Sabtu, 23 Desember 2017

PERINTAH JOIN PADA ORACLE 10g

Join merupakan penggambaran relasi yang terjadi antar suatu tabel dengan tabel lainya. Perintah join dibagi menjadi 3 yaitu :
  1. Inner Join
  2. Outer Join 
  3. Left Join
  4. Right Join

1. Inner Join

Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Untuk menggunakan inner join, kita dapat menuliskannya dengan format seperti dibawah ini :
SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;
Contoh dibwah ini merupakan contoh perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ONpelanggan.id_pelanggan=pesan.id_pelanggan;

2. Outer Join

Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT.

3. Left Join

Untuk menggunakan left join, kita dapat menuliskannya dengan format seperti dibawah ini :
SELECT tabel1.*, tabel2.*
FROM tabel1 LEFT JOIN tabel2
ON tabel1.PK=tabel2.FK;
Contoh dibwah ini merupakan contoh perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan,
pesan.id_pesan, pesan.tgl_pesan
FROM pelanggan LEFT JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.

4. Right Join

Untuk menggunakan right join, kita dapat menuliskannya dengan format seperti dibawah ini :
SELECT tabel1.*, tabel2.*
FROM tabel1 RIGHT JOIN tabel2
ON tabel1.PK=tabel2.FK;
Contoh dibwah ini merupakan contoh perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.

Sumber : https://irpantips4u.blogspot.co.id/2012/10/pengertian-fungsi-dan-penggunaan-join.html

Jumat, 15 Desember 2017

PENGGUNAAN GROUP FUNCTIONS

A) DASAR TEORI 
Apa itu Aggregated Data dan apa hubungannya dengan Group Function?? Aggregated Data adalah suatu fungsi yang digunakan untuk menghasilkan satu nilai  dari beberapa atau sejumlah baris dan dipengaruhi atau ditentukan oleh Group Function(fungsi yang digunakan untuk mengelompokkan data). Jadi intinya, beberapa data dari beberapa baris kita ambil, lalu kita kelompokkan dan akan menghasilkan satu nilai. 
Beberapa Tipe-tipe dari Group Function: 
1.MAX (untuk mencari nilai terbesar dalam Group Function) 
2.MIN (untuk mencari nilai terkecil dalam Group Function) 
3.AVG (untuk mencari nilai rata-rata dalam Group Function) 
4.COUNT  (untuk menjumlahkan baris dalam Group Function) 
5.SUM  (untuk mencari nilai total dalam Group Function) 
Setiap fungsi-fungsi menerima suatu argumen.
Pedoman-pedoman Untuk Menggunakan Group Functions
DISTINCT membuat suatu fungsi hanya mencakup nilainilai yang tidak sama (nonduplicate); ALL membuatnya mencakup setiap nilai, termasuk duplikatduplikat. Defaultnya adalah ALL dan karena itu tidak perlu ditentukan.
Tipe datatipe data untuk fungsi-fungsi dengan suatu argumen expr mungkin CHAR,VARCHAR2, NUMBER, atau DATE.
Semua Group functions mengabaikan nilai-nilai null. Untuk mengganti suatu nilai untuk nilai-nilai null, gunakanlah fungsi-fungsi NVL, NVL2, atau COALESCE.
Menggunakan Group Function
Menggunakan fungsi MAX dan MIN untuk tipe datatipe data numericcharacter, dan date. Contoh pada slide menampilkan pegawai yang paling baru dan paling lama.
Contoh berikut ini menampilkan nama belakang pegawai yang pertama dan nama belakang
pegawai yang terakhir dalam suatu daftar abjad dari semua pegawai :
SELECT MIN(last_name), MAX(last_name)
FROM employees;
Catatan : Fungsifungsi
AVG, SUM, VARIANCE, dan STDDEV hanya dapat digunakan pada tipe data numeric, MAX dan MIN tidak dapat digunakan pada tipe datatipe data LOB atau LONG.
  • Fungsi COUNT
COUNT (*) : mengembalikan jumlah baris-baris dalam suatu tabel yang memenuhi kriteria dari
pernyataan SELECT, termasuk baris-baris yang sama dan baris-baris yang berisi nilai-nilai null di setiap kolom.
Jika suatu klausa WHERE adalah termasuk dalam pernyataan SELECT, COUNT (*) mengembalikan jumlah dari barisbaris yang memenuhi kondisi klausa WHERE.
COUNT (expr) : mengembalikan jumlah dari nilai-nilai nonnull yang berada dalam kolom yang diidentifikasi oleh expr
COUNT (DISTINCT expr) : mengembalikan jumlah dari nilai-nilai yang unik ,nonnull yang ada dalam kolom diidentifikasi oleh expr.
Group Functions dan Nilai-Nilai Null
Semua group functions mengabaikan nilai-nilai null dalam kolom.
Fungsi NVL memaksa group functions untuk menyertakan nilai-nilai null.
Contoh:
1. Rata-rata : dihitung berdasarkan hanya pada barisbaris dalam suatu tabel yang menyimpan nilai yang valid di kolom COMMISION_PCT. Ratarata dihitung sebagai total komisi yang dibayarkan ke semua pegawai dibagi dengan jumlah pegawai yang menerima komisi (empat).
2. Ratarata : dihitung berdasarkan semua barisbaris dalam suatu tabel, tidak peduli apakah nilainilai
di kolom COMMISION_PCT null atau bukan. Ratarata dihitung sebagai total komisi yang dibayarkan ke semua pegawai dibagi dengan jumlah total pegawai dalam perusahaan (20).

Sumber : https://linlindaantebellum.wordpress.com/matkul-smstr-3/sql/resume5/

SYNTAX DDL DAN DML

Seperti definisi yang telah dijelaskan di atas, ddl adalah kumpulan perintah sql yang digunakan untuk membuat (create), mengubah (alter) da...