0% menganggap dokumen ini bermanfaat (0 suara)
82 tayangan7 halaman

MOdul 5 SQL 2

Dokumen tersebut membahas tentang SQL lanjut yang mencakup tujuan pembelajaran SQL lanjut, materi yang diajarkan seperti SQL dan tabel, alat dan bahan yang diperlukan seperti sqlyog dan XAMPP, prosedur praktikum, teori seperti fungsi agregasi dan pengubahan nilai atribut, serta penjelasan join di MySQL.

Diunggah oleh

Rudy Stz
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
82 tayangan7 halaman

MOdul 5 SQL 2

Dokumen tersebut membahas tentang SQL lanjut yang mencakup tujuan pembelajaran SQL lanjut, materi yang diajarkan seperti SQL dan tabel, alat dan bahan yang diperlukan seperti sqlyog dan XAMPP, prosedur praktikum, teori seperti fungsi agregasi dan pengubahan nilai atribut, serta penjelasan join di MySQL.

Diunggah oleh

Rudy Stz
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

SQL LANJUT

1.1 Tujuan
a. Siswa dapat mengenal Sintak SQL Lanjut
b. Siswa 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 sebelumnya
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 Agregrasi
Fungsi agregasi digunakan untuk menampilkan kebutuhan perolehan data seperti menampilkan
banyaknya 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 record dari query.
Sum ; fungsi ini digunakan untuk mendapatkan nilai total suatu atribut bertipekan numeric dari
query.
Avg ; fungsi ini digunakan untuk mendapatkan nilai rata-rata 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:

Contoh 1
Menampilkan banyaknya record dosen
select count (*)
from DOSEN

Contoh 2
Menampilkan banyaknya mata kuliah pada semester enam
select count (* )
from KULIAH
where SEMESTER = 6

Contoh 3
Menampilkan total sks disemester enam
select sum ( SKS )
from KULIAH
where SEMESTER = 6

Contoh 4
Menampilkan rata-rata sks untuk tiap-tiap semester
select avg ( SKS ) from KULIAH

1
Contoh 5
Menampilkan mahasiswa dengan usia termuda
select max ( TGL_LHR ) from MAHASISWA

Contoh 6
Menampilkan mahasiswa dengan usia tertua
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.

Contoh 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 KENDARI 30/10/78 TI TI
9961004 DONI L BANTUL 23/07/81 MIPA ILKOM
9961005 ANI P PATI 07/06/78 MIPA ILKOM

Contoh 2
update MAHASISWA
set FAK = TI, PRODI = T_KIMIA where NIM =
9961002

Tampilannya :
1.1.1.1.1.2 TABEL 11 : 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 KENDARI 30/10/78 TI TI
9961004 DONI L BANTUL 23/07/81 MIPA ILKOM
9961005 ANI P PATI 07/06/78 MIPA ILKOM

Contoh 3 update DOSEN

2
set NAMA_DOSEN = NAMA_DOSEN + , Ssi where
STATUS = TETAP

Tampilannya :
1.1.1.1.1.3 TABEL 12 : DOSEN
KODE_DOSEN NAMA_DOSEN STATUS ASAL
L022 ISMAYA, Ssi TETAP MEDAN
L023 GUNAWAN, Ssi TETAP LAMPUNG
L024 BUDIHARJO KONTRAK SRAGEN
L025 WARDATI, Ssi TETAP SEMARANG
L026 HARTATI KONTRAK JAKARTA
L027 FARIDA KONTRAK KALIMANTAN

Perintah Join
Perintah-perintah yang berkaitan dengan pendefinisian obyek-obyek basis data dan pembuatan tabel
baru merupakan perintah-perintah yang tergolong dalam DDL ( data definition language ). Sebelum
memulai membuat suatu tabel baru perlu diketahui tentang tipe data standart SQL yang berlaku. 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 datanya.
SQL :
1. Perintah dasar (bentuk dasar & bentuk lengkap)
2. Opsi DISTINCT
3. Mengganti tampilan judul kolom (alias untuk nama kolom)
4. Kondisi dengan Klausa WHERE dan HAVING
5. Kondisi jamak dengan operator AND, OR dan BETWEEN
6. Pola string dengan wildchar %, _ dan operator LIKE
7. Query dari beberapa tabel menggunakan WHERE
8. Aliasing nama tabel
9. Query dengan Operasi JOIN dan UNION
10. Pengurutan hasil Query
11. Query dengan fungsi agregasi
12. UPDATE, DELETE dan INSERT
13. SUBQUERY

Join mysql> help join


Name: 'JOIN'
Description:

3
MySQL supports the following JOIN syntaxes for the
table_references part of SELECT statements and multiple-table
DELETE and UPDATE statements:

table_reference, table_reference
table_reference [INNER | CROSS] JOIN table_reference [join_condition]
table_reference STRAIGHT_JOIN table_reference table_reference
LEFT [OUTER] JOIN table_reference [join_condition] table_reference
NATURAL [LEFT [OUTER]] JOIN table_reference
{ OJ table_reference LEFT OUTER JOIN table_reference
ON conditional_expr } table_reference RIGHT [OUTER] JOIN
table_reference [join_condition] table_reference NATURAL [RIGHT
[OUTER]] JOIN table_reference

table_reference is defined as:

tbl_name [[AS] alias]


[[USE INDEX (key_list)]
| [IGNORE INDEX (key_list)]
| [FORCE INDEX (key_list)]]

join_condition is defined as:

ON conditional_expr | USING (column_list)


Examples: mysql> SELECT table1.* FROM
table1
-> LEFT JOIN table2 ON table1.id=table2.id
-> WHERE table2.id IS NULL;
mysql>

contoh data ke tabel-tabel yang sudah Anda buat.

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 :

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

Contoh isi tabel pelanggan Tabel


pesan.

Contoh isi tabel pesan

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;
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
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 WHERE


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

Cara #1. Inner Join dengan klausa INNER JOIN.


Berikut ini bentuk umumnya: SELECT
tabel1.*, tabel2.*

5
FROM tabel1 INNER JOIN tabel2
ON tabel1.PK=tabel2.FK;
Dan berikut ini perintah SQL penggabungan tabel pelanggan dan pesan.
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan,
pesan.tgl_pesan
FROM pelanggan INNER JOIN pesan
ON pelanggan.id_pelanggan=pesan.id_pelanggan; Hasilnya
akan sama dengan gambar di atas (cara #1).

1.1.3 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 JOIN. Berikut ini bentuk umum dan
contohnya:

LEFT JOIN.
Bentuk umum:
SELECT tabel1.*, tabel2.* FROM
tabel1 LEFT JOIN tabel2
ON tabel1.PK=tabel2.FK; Contoh
perintah SQL:
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; Hasilnya:

Hasil Perintah 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_pesan untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan)
pelanggan tersebut tidak ada.

RIGHT JOIN
Bentuk umum:
SELECT tabel1.*, tabel2.*
FROM tabel1 RIGHT JOIN tabel2

6
ON tabel1.PK=tabel2.FK; Contoh
perintah SQL:
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; Hasilnya:

Hasil Perintah Right Join


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.

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.

Anda mungkin juga menyukai