Anda di halaman 1dari 5

SQL QUERY AGGREGATE FUNCTION

Tujuan Instruksional Umum:

1. Mahasiswa mengetahui dan menggunakan SQL sebagai bahasa yang dipergunakan untuk mengakses DBMS

2. Mempergunakan fasilitas yang ada pada DBMS untuk menghasilkan informasi yang diperlukan

a. Mencari informasi dari sebuah tabel dengan batasan tertentu

b. Mencari informasi dari hubungan antar tabel denngan batasan tertentu

DML merupakan bahasa yang digunakan untuk:

Mengolah basis data yaitu dengan memanipulasi tupel-tupel di basis data relasionalbatasan tertentu DML merupakan bahasa yang digunakan untuk: Melakukan query (sederhana, join, bertingkat) Memanggil

Melakukan query (sederhana, join, bertingkat)dengan memanipulasi tupel-tupel di basis data relasional Memanggil fungsi-fungsi agregasi SQL menyediakan 4 statemen

Memanggil fungsi-fungsi agregasirelasional Melakukan query (sederhana, join, bertingkat) SQL menyediakan 4 statemen untuk memanipulasi data: SELECT,

SQL menyediakan 4 statemen untuk memanipulasi data:

SELECT, untuk query (meminta informasi) dari basis dataagregasi SQL menyediakan 4 statemen untuk memanipulasi data: INSERT, untuk menyisipkan data baru ke tabel pada

INSERT, untuk menyisipkan data baru ke tabel pada sebuah basis dataSELECT, untuk query (meminta informasi) dari basis data UPDATE, untuk memodifikasi data yang telah ada pada

UPDATE, untuk memodifikasi data yang telah ada pada tabel pada sebuah basis datauntuk menyisipkan data baru ke tabel pada sebuah basis data DELETE, untuk menghapus data dari tabel

DELETE, untuk menghapus data dari tabel pada sebuah basis datadata yang telah ada pada tabel pada sebuah basis data Select digunakan hanya untuk mengambil data

Select digunakan hanya untuk mengambil data dari basis data tanpa merubahnya, sedangkan Insert, Update dan Delete digunakan untuk mengubah data di tabel.

Pada bagian ini yang akan dibahas adalah perintah yang berhubungan dengan operasi yang berhubungan dengan pengambilan data dari basis data tanpa merubahnya yaitu operasi Select yaitu sub bagian Aggregate Function. Sedangkan operasi yang mengubah/manipulasi data di tabel yaitu Insert, Update dan Delete telah dibahas pada SQL- DML-Manipulasi.

AGGREGATE FUNCTION

Aggregate Function (fungsi agregasi) merupakan fungsi-fungsi yang disediakan oleh SQL untuk memudahkan pengguna melakukan query

Fungsi agregasi antara lain menghitung banyaknya record, total nilai suatu atribut, rata-rata nilai atribut, nilai terbesar dan nilai terkecil suatu atribut.

Fungsi agregasi hanya dapat diterapkan di klausa SELECT dan klausa HAVING. Selain itu tidak dibenarkan. Fungsi agregasi hanya diberlakukan pada tabel hasil query. Contohnya, nilai jam kerja terbesar untuk pegawai pada proyek Produce belum tentu sama dengan nilai jam kerja untuk semua pegawai.

Fungsi-fungsi Agregasi:

COUNT, menghitung jumlah record (tuple) hasil query yang nilainya bukan NULL SUM, menghitung nilai total suatu atribut numeric hasil query MAX, mendapatkan nilai terbesar suatu atribut hasil query MIN, mendapatkan nilai terkecil suatu atribut hasil query AVG, mendapatkan nilai rata-rata suatu atribut hasil query

Count (*) adalah kasus penggunaan COUNT secara khusus. Fungsi count(*) adalah untuk menghitung semua baris ditabel tak peduli nilai NULL atau munculnya duplikasi. Jika kita ingin menghilangkan duplikasi maka sebelum nama kolom fungsi digunakan klausa DISTINCT.

Q14:

Menghitung banyaknya record pegawai yang bekerja pada departemen Administration.

Select Count (*) From employee E, department D Where E.dno = D.dnumber and D.dname = ‘Administration’;

Query ini untuk menghitung semua pegawai yang bekerja pada departemen Administration yaitu 3 orang dengan ssn = 999887777, 987654321, dan 9987987987. Walaupun ada tuple yang kosong pada 3 orang ini, maka Count(*) tetap akan menghitung 3 orang.

Count (*) 3 ATAU
Count (*)
3
ATAU

Select Count (distinct E.fname) From employee E, department D Where E.dno = D.dnumber and D.dname = ‘Administration’;

Query ini untuk menghitung jumlah nama depan pegawai yang bekerja pada departemen Administration yang ada nilainya saja dan menghilangkan duplikasi, yaitu 3 orang dengan nama depan pegawai = Alicia, Jennifer, dan Ahmad.

Count (E.fname)

3

Q15:

Menghitung total jumlah jam kerja beserta jem kerja tertinggi, terendah, dan rata-rata jam kerja pegawai yang mengerjakan proyek ProductY

Select sum (W.hours), max (W.hours), min (W.hours), avg (W.hours) From works_on W, Project P Where W.pno = P.pnumber and P.pname = ‘ProductY’;

Sum(W.hours)

max(W.hours)

min(W.hours)

avg(W.hours)

37.5

20

7.5

12.5

EMPLOYEE FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO pk fk fk DEPARTMENT
EMPLOYEE
FNAME
MINIT
LNAME
SSN
BDATE
ADDRESS
SEX
SALARY
SUPERSSN
DNO
pk
fk
fk
DEPARTMENT
DNAME
DNUMBER
MGRSSN
MGRSTARTDATE
pk
fk
DEPT_LOCATION
DNUMBER
DLOCATION
pk,fk
pk
PROJECT
PNAME
PNUMBER
PLOCATION
DNUM
pk
fk
WORKS_ON
ESSN
PNO
HOURS
pk,fk
pk,fk
DEPENDENT

ESSN

DEPENDENT_NAME

SEX

BDATE

RELATIONSHIP

pk, fk

pk

Gambar 1. Skema Basis Data COMPANY

EMPLOYEE

FNAME

MINIT

LNAME

SSN

BDATE

 

ADDRESS

SEX

SALARY

SUPERSSN

DNO

John

B

Smith

123456789

09-jan-55

731

Fondren, Houston, TX

M

30000

333445555

5

Franklin

T

Wong

333445555

08-dec-45

638

Voss, Houston, TX

M

40000

888665555

5

Alicia

J

Zelaya

999887777

19-jul-58

3321

Castle, Spring, TX

F

25000

987654321

4

Jennifer

S

Wallace

987654321

20-jun-31

291

Berry, Bellaire, TX

F

43000

888665555

4

Ramesh

K

Narayan

666884444

15-sep-52

975

Are Oak, Humble, TX

M

38000

333445555

5

Joyce

A

English

453453453

31-jul-62

5631

Rice, Houston, TX

F

25000

333445555

5

Ahmad

V

Jabber

987987987

29-mar-59

980

Dallas, Houston, TX

M

25000

987654321

4

James

E

Borg

888665555

10-nov-27

450

Stone, Houston, TX

M

55000

null

1

WORKS_ON

ESSN

PNO

HOURS

123456789

1

32.5

123456789

2

7.5

666884444

3

40.0

453453453

1

20.0

453453453

2

20.0

333445555

2

10.0

333445555

3

10.0

333445555

10

10.0

333445555

20

10.0

999887777

30

30.0

999887777

10

10.0

987987987

10

35.0

987987987

30

5.0

987654321

30

20.0

987654321

20

15.0

888665555

20

Null

DEPENDENT

DEPARTMENT

 

DNAME

DNUMBER

MGRSSN

MGRSTARTDATE

Research

5

333445555

 

22-may-78

Administration

4

987654321

 

01-jan-85

Headquarters

1

888665555

 

19-jan-71

PROJECT

 

PNAME

PNUMBER

PLOCATION

DNUM

 

ProductX

1

Bellaire

5

ProductY

2

Sugarland

5

Produce

3

Houston

5

Computerization

10

Stafford

4

Reorganization

20

Houston

1

Newbenefits

30

Stafford

4

DEPT_LOCATION

ESSN

DEPENDENT_NAME

SEX

BDATE

RELATIONSHIP

DNUMBER

DLOCATION

333445555

Alice

F

05-apr-76

Daughter

1

Houston

333445555

Theodore

M

25-oct-73

Son

4

Stafford

333445555

Joy

F

03-may-46

Spouse

5

Bellaire

987654321

Abner

M

29-feb-32

Spouse

5

Sugarland

123456789

Michael

M

01-jan-78

Son

5

Houston

123456789

Alice

F

31-dec-78

Daughter

 

123456789

Elizabeth

F

05-may-57

Spouse

Gambar 2. Basis Data COMPANY