3.2. SQL Query PDF
3.2. SQL Query PDF
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.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
select sum ( SKS )
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
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
update MAHASISWA
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 STA TUS = ‘ TE TAP’
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
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
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:
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:
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.