• Tidak ada hasil yang ditemukan

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL: Contoh 1 Menampilkan banyaknya record dosen select count ( * )

N/A
N/A
Protected

Academic year: 2021

Membagikan "Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL: Contoh 1 Menampilkan banyaknya record dosen select count ( * )"

Copied!
7
0
0

Teks penuh

(1)

Modul 5

SQL 2

1.1 Tujuan

a. Mahasiswa dapat mengenal Sintak SQL Lanj ut b. Mahasiswa dapat mengoperasikan Sintak SQL Lanjut 1.2 Materi

a. SQL b. Tabel 1.3 Alat dan Bahan

a. sqlyog b. XAMPP c. phpmyadmin 1.4 Prosedur Praktikum

a. Peserta membaca dan mempelajari materi praktikum sebelumny a b. Instruktur menerangkan dan menjelaskan teori dan cara kerja c. Peserta mempraktikan materi percobaan

d. Peserta membuat penyelesaian terhadap soal latihan 1.5 Teori

Fungsi Agregra si

Fungsi agregasi digunakan untuk menampilkan kebutuhan perolehan data seperti menampilkan banyakny a record, total nilai suatu atribut, rata-rata nilai atribut, nilai atribut terbesar atau terkecil , dan lain sebagainya. Macam-macam fungsi agregasi dalam SQL adalah sebagai berikut :

Count ; fungsi ini digunakan untuk mendapatkan nilai banyaknya rec ord dari query.  Sum ; fungsi ini digunakan untuk mendapatkan nilai total suatu atribut bertipekan

numeric dari query.

Avg ; fungsi ini digunakan untuk mendapatkan nilai rata -rat a suatu atribut bertipe numeric hasil query.

Max ; fungsi ini digunakan untuk mendapatkan nilai terbesar dari suatu atribut hasil query

Min ; fungsi ini digunakan untuk mendapatkan nilai terkecil dari suatu atribut hasil query.

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL:  Cont oh 1

Menampilkan banyakny a record dosen

select count ( * )

from DOSEN

 Cont oh 2

Menampilkan banyakny a mata kuliah pada semester enam select count (* )

from KULIA H

where SEMESTER = ‘ 6 ’  Cont oh 3

Menampilkan total sks disemester enam

(2)

from KULIAH where SEMESTER = ‘ 6 ‘  Cont oh 4

Menampilkan rata-rata sks untuk tiap-tiap semester

select avg ( SKS ) from KULIAH  Cont oh 5

Menampilkan mahasiswa dengan usia termuda

select max ( TGL_LHR )

from MAHASISWA

 Cont oh 6

Menampilkan mahasiswa dengan usia tert ua

select min ( TGL_LHR ) from MAHASISWA Pengubahan Nilai Atribut

Pengubahan nilai atribut dapat menggunakan perintah update, perintah ini berfungsi memperbaharui atau meng-update satu atau lebih dari satu baris atau sekelompok baris didalam tabel.

Sintak :

update T

set KOLOM = VALUES where ( kondisi / keadaan ) Keterangan :

 T : nama tabel yang akan mengalami perubahan record

 KOLOM : nama atribut pada tabel yang akan mengalami perubahan nilai record

 VALUES : nilai baru record pada atribut dalam tabel yang akan menggantikan nilai lama.

 Kondisi / keadaan : keadaan yang menentukan record nama yang akan mengalami update / perubahan nilai. Jika klausa where tidak digunakan pada ekspresi maka, perubahan akan dilakukan pada semua record di dalam tabel.

Cont oh 1

update MAHASISWA

set ASAL = ‘ KENDARI’ where NIM = 9961003

Tampilannya :

1.1.1.1.1.1 TABEL 10 : MAHASISWA

NIM NAMA SEX ASAL TGL.LHR FAK PRODI

9961001 BUDI L KUDUS 02/02/ 80 MIPA BIOLOGI

9961002 NINA P BLORA 03/11/ 79 SASTRA INDONESIA

9961003 ABI L KENDA RI 30/10/ 78 TI TI

9961004 DONI L BANTUL 23/07/ 81 MIPA ILKOM

9961005 ANI P PATI 07/06/ 78 MIPA ILKOM

Cont oh 2

(3)

set FAK = ‘ TI’, PRODI = ‘T_KIMIA’ where NIM = 9961002

Tampilannya :

1.1.1.1.1.2 TABEL 11 : MAHASISWA

NIM NAMA SE X ASAL TGL.LHR FAK PRODI

9961001 BUDI L KUDUS 02/02/ 80 MIPA BIOLOGI

9961002 NINA P BLORA 03/11/ 79 SASTRA INDONESIA

9961003 ABI L KENDA RI 30/10/ 78 TI TI

9961004 DONI L BANTUL 23/07/ 81 MIPA ILKOM

9961005 ANI P PATI 07/06/ 78 MIPA ILKOM

Cont oh 3

update DOSEN

set NAMA_DOSEN = NAMA_DOSEN + ‘ , Ssi ’ where STATUS = ‘ TETAP’

Tampilannya :

1.1.1.1.1.3 TABEL 12 : DOSEN

KODE_DOSE N NAMA_DOSEN STA TUS ASAL

L022 ISMAYA, Ssi TE TAP MEDAN

L023 GUNAWAN, Ssi TE TAP LAMPUNG

L024 BUDIHARJO KONTRAK SRAGEN

L025 WARDA TI, Ssi TE TAP SEMARANG

L026 HARTA TI KONTRAK JAKARTA

L027 FARIDA KONTRAK KALIMA NTAN

Perintah Join

Perintah-perintah yang berkaitan dengan pendefinisian obyek -obyek basis dat a dan pembuat an tabel baru merupakan perintah-perintah y ang t ergolong dalam DDL ( data definition language ). Sebelum memulai membuat suatu tabel baru perlu diketahui tentang tipe data standart SQL yang berlak u. Bab yang terdahulu telah dibahas mengenai tipe -tipe data yang berlaku pada SQL. Pada dasarnya terdapat banyak sekali tipe data yang berlaku pada SQL namun hanya beberapa saja diantaranya yang diakui sebagai tipe data standart, dan diizinkan untuk digunakan pada periode standarisasi. Berikut ini adalah tipe-tipe data standart yang berlaku dalam SQL-92 :

Char (n) : untuk atribut bernilai string dengan panjang tetap  Varchar (n) : untuk atribut bernilai string dengan penjang fleksibel  Int atau integer : untuk atribut berniali integer 2 byte

Smallint : untuk stribut berniali integer 1 byte  Numeric (p,d) : untuk atribut berniali pecahan fixed point  Real, double, precision : untuk atribut bernilai pecahan floating point

Float (n) : untuk atribut bernilai pecahan floating point dengan presisi n digit

Date : untuk atribut bernilai penanggalan  Time : untuk atribut bernilai waktu Sintak klausa pembuatan tabel baru :

crete table T ( A1 D1, A2 D2, …, An Dn ) Keterangan :

 T : merupakan nama tabel yang akan dibuat

 A1, A2, …, An : merupakan nama-nama tribut yang akan terdapat di dalan tabel

 D1, D2, …, Dn : merupakan domain nialai mesing-masing atribut tersebut yang ditentukan berdasarkan tipe datany a.

(4)

SQL :

1. Perintah dasar (bentuk dasar & bentuk lengkap) 2. Opsi DIS TINCT

3. Mengganti tampilan judul kolom (alias untuk nama kolom) 4. Kondisi dengan Klausa WHE RE dan HAV ING

5. Kondisi jamak dengan ope rator AND, OR dan BE TWEEN 6. Pola string dengan wildchar %, _ dan operator LIKE 7. Query dari beberapa tabel menggunakan WHE RE 8. Aliasing nama tabel

9. Query dengan Operasi JOIN dan UNION 10. Pengurut an hasil Query

11. Query dengan fungsi agregasi 12. UPDA TE, DELE TE dan INSE RT 13. SUBQUE RY

Join

mysql> help join Name: 'JOIN' Description:

MySQL supports the following JOIN syntaxes for the

table_references part of SELECT statements and multiple -table DELETE and UP DATE statements:

table_reference, table_reference

table_reference [INNE R | CROSS] JOIN table_reference [join_condition] table_reference STRAIGHT_JOI N table_reference

table_reference LEFT [OUTER] JOIN table_reference [join_condition] table_reference NATURA L [LEFT [OUTE R]] JOIN table_reference { OJ table_reference LEFT OUTER JOIN table_reference

ON conditional_expr }

table_reference RIGHT [OUTE R] JOIN table_reference [join_condition] table_reference NATURA L [RIGHT [OUTE R]] JOIN table_reference table_reference is defined as:

tbl_name [[AS] alias] [[USE INDEX (k ey_list)] | [IGNORE INDEX (k ey_list)] | [FORCE INDEX (k ey_list)]] join_condition is defined as:

ON conditional_expr | USI NG (column_list) Examples:

mysql> SELECT table1.* FROM table1

-> LEFT JOIN table2 ON table1.id=table2.id -> WHERE table2.id IS NULL;

mysql>

(5)

1.1.2 Inner Join

Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Misalkan isi tabel pelanggan dan pesan adalah sebagai berikut :

Tabel pelanggan (hanya ditampilkan field id_pelanggan, nm_pelanggan dan email)

Cont oh isi tabel pelanggan Tabel pe san.

Cont oh isi tabel pes an

Cara #1. Inner Join dengan WHERE.

Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut: SELECT tabel1.*, tabel2.* FROM tabel1, tabel2

WHERE tabel1.PK=tabel2.FK;

(6)

SELECT pelanggan.id_pelanggan, pelanggan. nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan

FROM pelanggan, pesan

WHERE pelanggan.id_pelanggan= pesan.id_pelanggan; Hasilnya sebagai berikut:

Hasil Penggabungan 2 Tabel dengan WHE RE

Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi yang dilak uk an oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi tabel pelanggan di atas, maka terdapat satu pelanggan yang tidak ditampilkan yaitu y ang memiliki id pelanggan P0003. Pelanggan tersebut tidak ditampilkan karena belum pernah melakukan transaks i.

Cara #1. Inner Join dengan klausa INNER JOI N. Berikut ini bentuk umumnya:

SELECT tabel1.*, tabel2.*

FROM tabel1 INNE R JOIN tabel2 ON tabel1.PK=tabel2.FK;

Dan berik ut ini perintah SQL penggabungan tabel pelanggan dan pes an.

SELECT pelanggan.id_pelanggan, pelanggan. nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan

FROM pelanggan INNE R JOIN pesan

ON pelanggan.id_pelanggan=pes an.id_pelanggan; Hasilnya akan sama dengan gambar di at as (cara #1). 1.1.3 Outer Join

Dengan outer join, tabel akan digabungkan s atu arah, sehingga memungkink an 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 pemes anan (transaksi).

Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN. Berikut ini bentuk umum dan contohny a:

LEFT JOIN. Bentuk umum:

SELECT tabel1.*, tabel2.* FROM tabel1 LEFT JOIN tabel2 ON tabel1.PK=tabel2.FK; Cont oh perint ah SQL:

SELECT pelanggan.id_pelanggan, pelanggan. nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan

FROM pelanggan LEFT JOIN pesan

ON pelanggan.id_pelanggan=pes an.id_pelanggan; Hasilnya:

(7)

Hasil Perint ah Left Join

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_pes an untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pes an) pelanggan tersebut tidak ada.

RIGHT JOIN Bentuk umum:

SELECT tabel1.*, tabel2.*

FROM tabel1 RIGHT JOIN tabel2 ON tabel1.PK=tabel2.FK;

Cont oh perint ah SQL:

SELECT pelanggan.id_pelanggan, pelanggan. nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan

FROM pelanggan RIGHT JOIN pesan

ON pelanggan.id_pelanggan=pes an.id_pelanggan; Hasilnya:

Hasil Perint ah Right Join

Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel pesan), jadi semua isi tabel pes an akan ditampilkan. Jika dat a pelanggan tidak ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.

1.6 Latihan

1. Coba dulu semua contoh dalam modul 5

2. Merujuk pada kasus struktur tabel pada modul 1, maka kerjakan query berikut ini (gunakan perintah join baik left join dan inner join):

a. Menampilkan posisi buku yang terpinjam

b. Menampilkan rekapitulasi buku, lengkap dengan author.

c. Menampilkan rekapitulasi posisi buku yang ada lengkap dengan jumlah eksemplar berikut lokasi penempatan buku.

Gambar

Tabel pelanggan (hanya ditampilkan  field id_pelanggan, nm_pelanggan dan email)

Referensi

Dokumen terkait

1) Penerapan pendekatan pengajaran terbalik (reciprocal teaching) pada materi fluida statis dapat meningkatkan hasil belajar siswa kelas XI-IPA 1 SMA Negeri 1

By Pass Ngurah Rai , Puri Maharani Ida Bagus Made Ardita KP..

Memudahkan aksesibilitas bagi anak cacat fisik yakni, memanfaatkan sepenuhnya tapak dengan perletakan masa yang mengikuti dimensi tapak, hal ini dilakukan untuk efisiensi

(1989) merupakan bukti bahwa hampir semua variasi dalam keluaran dari produksi frontir dapat dianggap sebagai akibat dari tingkat pencapaian efisiensi teknis yang

Konformitas teman sebaya yang berada pada tataran remaja karang taruna di Dusun Gamping Desa Jambean, Sragen Jawa Tengah memiliki hubungan yang sigknifikan dengan perilaku

Input Data Responden Nelayan Berdasarkan Curahan Waktu Kerja, Pola Hidup Nelayan, Pengalaman Melaut, Status Pemilikan Alat Tangkap, Jenis Rumah dan Hasil Tangkapan Laut di

Tingkat pencapaian kinerja tersebut memberi arti bahwa pelaksanaan kegiatan yang dilakukan BPS telah sesuai program, kebijakan, sasaran dan tujuan yang telah ditetapkan dalam

Permasalahan yang saat ini terjadi pada PT Onassis Wisata Cemerlang menurut Ibu Riama Chaidir selaku manajer pada PT Onassis Wisata Cemerlang adalah ingin