• Tidak ada hasil yang ditemukan

3 SQL Group Function

N/A
N/A
Protected

Academic year: 2017

Membagikan "3 SQL Group Function"

Copied!
27
0
0

Teks penuh

(1)

C H A P T E R

SQL

(2)

Tujuan:

Mengenal perintah SQL dalam :

- Operasi Himpunan

- Fungsi Agregat

- Kondisi JOIN

(3)

S Q L – Operasi Himpunan

• Pada ekspresi SQL, terdapat operasi yang berhubungan dengan himpunan pada atribut yang sama.

Operasi SQL tersebut yaitu: UNION, INTERSECT dan EXCEPT, yang masing-masing memiliki hubungan erat dengan operasi

aljabar relasional ,  dan . Contoh:

• Terdapat 2 himpunan data, yaitu semua nasabah yang memiliki rekening pada suatu bank, dengan SQL:

SELECT nama_nasabah

FROM penabung

(4)

S Q L – Operasi Himpunan

Operasi UNION (Penggabungan)

• Untuk menemukan semua nasabah yang memiliki pinjaman,

rekening atau keduanya pada suatu bank tertentu, dapat dituliskan query berikut:

Operasi UNION tidak seperti pada klausa SELECT, secara

otomatis mengeliminasi duplikat record. Maka pada query diatas, jika seorang nasabah bernama ‘Mike’ yang memiliki beberapa

(5)

S Q L – Operasi Himpunan

Operasi UNION (Penggabungan)

• Jika ingin mempertahankan adanya duplikasi, maka dapat digunakan operasi UNION ALL sebagai penggani UNION.

(SELECT nama_nasabah

FROM penabung)

UNION ALL

(SELECT nama_nasabah

FROM peminjam)

(6)

S Q L – Operasi Himpunan

Operasi INTERSECT (Irisan)

• Untuk menemukan semua nasabah yang memiliki baik rekening maupun pinjaman pada bank, maka dapat digunakan query berikut:

(SELECT [Distinct] nama_nasabah

FROM penabung)

INTERSECT

(SELECT [Distinct] nama_nasabah

FROM peminjam)

(7)

S Q L – Operasi Himpunan

Operasi INTERSECT (Irisan)

• Jika ingin ditampilkan semua data yang memenuhi, sehingga mempertahankan adanya duplikat data pada record-recordnya, maka dapat digunakan operasi INTERSECT ALL query berikut:

(SELECT [Distinct] nama_nasabah

FROM penabung)

INTERSECT ALL

(SELECT [Distinct] nama_nasabah

FROM peminjam)

(8)

S Q L – Operasi Himpunan

Operasi EXCEPT (Perkecualian)

• Untuk menemukan semua nasabah yang memiliki rekening tapi tidak memiliki pinjaman pada suatu bank, maka bentuk query:

(SELECT [Distinct] nama_nasabah

FROM penabung)

EXCEPT

(SELECT [Distinct] nama_nasabah

FROM peminjam)

Seperti pada operasiUNION dan INTERSECT sebelumnya, operasi EXCEPT juga mengeliminasi adanya duplikat data.

(9)

S Q L – Operasi Himpunan

Operasi EXCEPT (Perkecualian)

• Jika ingin mempertahankan adanya duplikasi data, maka dapat digunakan operasi EXCEPT ALL dengan bentuk query:

(SELECT [Distinct] nama_nasabah

FROM penabung)

EXCEPT ALL

(SELECT [Distinct] nama_nasabah

FROM peminjam)

• Dengan query diatas, jika Mike memiliki 3 rekening dan 1 pinjaman, maka akan dihasilkan 2 record data saja.

(10)

S Q L – Fungsi Agregat dan Group Function

• Fungsi agregat adalah fungsi-fungsi yang mengambil kumpulan (collection) suatu himpunan data atau beberapa himpunan data dan mengembalikan suatu nilai tunggal.

• Terdapat 5 fungsi agregasi (agregat) baku, yaitu:

1. AVG the EMPLOYEES

table.

(11)

S Q L – Fungsi Agregat dan Group Function

• Syntax dari Group Function, yaitu:

SELECT [column,] group_function(column), ...

FROM table

[WHERE condition]

[GROUP BY column]

(12)

S Q L – Fungsi Agregat dan Group Function

Fungsi AVG dan SUM

• Fungsi AVG digunakan untuk mencari nilai rata-rata pada suatu kolom data.

• Fungsi SUM digunakan untuk mencari nilai jumlah total pada suatu kolom

SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary) FROM employees

(13)

S Q L – Fungsi Agregat dan Group Function

Fungsi MIN dan MAX

• Fungsi MIN digunakan untuk mencari nilai data paling kecil (minimum).

• Fungsi MAX digunakan untuk mencari nilai data paling besar (Maximum).

SELECT MIN(hire_date), MAX(hire_date)

(14)

S Q L – Fungsi Agregat dan Group Function

Fungsi COUNT

• Fungsi COUNT digunakan untuk mencari jumlah record data row (jumlah baris data yang dihasilkan dari query/banyaknya data).

SELECT COUNT(*)

FROM employees

(15)

S Q L – Fungsi Agregat dan Group Function

Fungsi COUNT

• Fungsi COUNT mengabaikan adanya data yang sifatnya NULL VALUE.

• Contoh berikut menampilkan jumlah data record pada suatu kolom.

SELECT COUNT(commission_pct) FROM employees

(16)

S Q L – Fungsi Agregat dan Group Function

Membuat Group Data

• Ada keadaan penggunaan fungsi agregat untuk menghasilkan beberapa record data sekaligus berdasarkan kondisi khusus atau group dari suatu kolom tertentu.

• Maka dapat digunakan klausa GROUP BY.

SELECT column, group_function(column)

FROM table

[WHERE condition]

[GROUP BY group_by_expression]

[ORDER BY column];

(17)

S Q L – Fungsi Agregat dan Group Function

Membuat Group Data

(18)

S Q L – Fungsi Agregat dan Group Function

Membuat Group Data

SELECT department_id, AVG(salary) FROM employees

(19)

S Q L – Fungsi Agregat dan Group Function

Membuat Group Data

SELECT AVG(salary) FROM employees

(20)

S Q L – Fungsi Agregat dan Group Function

Membuat Group Data

Grouping by More Than One Column

EMPLOYEES

“Add up the salaries in the EMPLOYEES

table for each job,

grouped by department.

(21)

S Q L – Fungsi Agregat dan Group Function

Membuat Group Data

Using the GROUP BY Clause on Multiple Columns

SELECT department_id dept_id, job_id, SUM(salary) FROM employees

(22)

S Q L – Fungsi Agregat dan Group Function

Membuat Pembatasan Group Data

• Fungsi GROUP BY dapat dibuat pembatasan dari data yang akan dihasilkan dengan menggunakan fungsi HAVING.

Dengan klausa HAVING dapat membatasi groups data:

1. Rows (baris-baris) akan di group. 2. Fungsi group dapat diaplikasikan.

3. Groups matching the HAVING clause are displayed.

SELECT column, group_function

FROM table

[WHERE condition]

[GROUP BY group_by_expression]

[HAVING group_condition]

(23)

S Q L – Fungsi Agregat dan Group Function

Membuat Pembatasan Group Data

The maximum salary

per department when it is greater than

$10,000

EMPLOYEES

(24)

S Q L – Fungsi Agregat dan Group Function

Membuat Pembatasan Group Data

SELECT department_id, MAX(salary) FROM employees

GROUP BY department_id

(25)

S Q L – Fungsi Agregat dan Group Function

Membuat Pembatasan Group Data

SELECT job_id, SUM(salary) PAYROLL FROM employees

WHERE job_id NOT LIKE '%REP%' GROUP BY job_id

(26)

S Q L – Fungsi Agregat dan Group Function

Membuat Pembatasan Group Data

Nesting Group Functions

Display the maximum average salary.

SELECT MAX(AVG(salary)) FROM employees

(27)

Question ?

Referensi

Garis besar

Dokumen terkait

Untuk itu dalam penelitian ini sebuah perangkat medis dibuat dengan memanfaatkan Raspberry Pi dan koneksi internet nirkabel sehingga gambar yang direkam melalui

11) mekanisme penanganan dalam hal terjadi kegagalan dalam memenuhi kewajiban... Dalam hal terjadi perubahan jenis Akad Syariah, isi Akad Syariah, kegiatan usaha dan/ atau aset

Namun demikian, pilihan seseorang dari pendekatan ini juga dipengaruhi oleh faktor lain, yaitu kharisma dari seorang kandidat yang menjadi sosok idaman bagi

Заштита животне средине овог Плана постићи ће се остваривањем више појединачних циљева, који се односе на: • Заштиту вода

Judul Skripsi : Sistem Informasi Administrasi dan Penilaian Mentoring Pendidikan Agama Islam pada Forum Mahasiswa Islam Universitas Muria Kudus.. Menyatakan dengan

Hipotesis yang diajukan: ada tingkat dosis Iso p ro p ila mina g lifo sa t yang efektif untuk mengendalikan gulma pada lahan pertanaman karet TBM, ada pengaruh selang

bahwa dalam rangka meningkatkan daya guna dan hasil guna serta kesejahteraan Anggota Tentara Nasional Indonesia, perlu mengubah gaji pokok Anggota Tentara Nasional

2) Guru bersama dengan peserta didik mengidentifikasi kelebihan dan kekurangan kegiatan pembelajaran (yaitu kegiatan mengumpulkan informasi dengan cara …, menjawab pertanyaan