BAB 5.
SQL LANJUTAN
A. Pendahuluan
Pada materi sebelumnya kita telah mempelajari bagaimana cara membuat database, membuat tabel, mengubah tabel atau kolom, menambahkan kolom, bagaimana mengolah data, penampilan data dengan kondisi dan pembatasan penampilan data. Pada materi ini kita akan memperlajari tentang fungsi pada SQL dan juga teknik JOIN yaitu menggabungkan kolom dari 2 atau banyak tabel berdasarkan kolom yang sama diantara keduanya. Teknik join biasanya digunakan pada data yang besar dengan struktur basis data yang kompleks, sehingga data yang dicakup bisa lebih luas lagi.
B. Fungsi pada SQL
Ada berbagai macam fungsi pada SQL, yaitu:
a. Fungsi Himpunan pada SQL
i.AVG( ), fungsi untuk menampilkan nilai rata-rata
Syntaks AVG( ):
SELECT AVG(nama_kolom) FROM nama_tabel;
ii. COUNT( ), fungsi untuk menampilkan jumlah baris
Syntaks COUNT( ):
SELECT COUNT(nama_kolom) FROM nama_tabel;
iii.FIRST,( ) fungsi untuk menampilkan nilai yang pertama
Syntaks FIRST( ):
pada SQL
SELECT FIRST(nama_kolom) FROM nama_tabel;
pada MySQL
SELECT nama_kolom FROM nama_tabel
ORDER BY nama_kolom ASC
LIMIT 1;
iv.LAST( ), fungsi untuk menampilkan nilai yang terakhir
Syntaks LAST( ):
pada SQL
SELECT LAST(nama_kolom) FROM nama_tabel;
pada MySQL
SELECT nama_kolom FROM nama_tabel
ORDER BY nama_kolom DESC
LIMIT 1;
v.MAX( ), fungsi untuk menampilkan nilai yang terbesar
Syntaks MAX( ):
SELECT MAX(nama_kolom) FROM nama_tabel;
vi.MIN( ), fungsi untuk menampilkan nilai yang terkecil
Syntaks MIN( ):
SELECT MIN(nama_kolom) FROM nama_tabel;
vii.SUM( ), fungsi untuk menampilkan jumlah nilai
Syntaks SUM( ):
SELECT SUM(nama_kolom) FROM nama_tabel;
b. Fungsi Skalar pada SQL
.UCASE( ), fungsi untuk mengkonversi suatu field ke huruf besar
Syntaks UCASE( ):
SELECT UCASE(nama_kolom) FROM nama_tabel;
i.LCASE( ), fungsi untuk mengkonversi suatu field ke huruf kecil
Syntaks LCASE( ):
SELECT LCASE(nama_kolom) FROM nama_tabel;
ii.MID( ), fungsi untuk mengekstrak karakter dari kolom teks
Syntaks MID( ):
SELECT MID(nama_kolom, mulai, panjang)
FROM nama_tabel;
iii. ROUND( ), fungsi untuk membulatkan angka numerik ke jumlah desimal
yang ditentukan
Syntaks ROUND( ):
SELECT ROUND(nama_kolom, desimal)
FROM nama_tabel;
iv.NOW( ), fungsi untuk menampilkan tanggal dan waktu sistem saat ini
Syntaks NOW( ):
SELECT NOW() FROM nama_tabel;
v.FORMAT( ), fungsi untuk mengatur format bagaimana field yang akan ditampilkan
Syntaks FORMAT( ):
SELECT FORMAT(nama_kolom, format) FROM nama_tabel;
C. Teknik JOIN
Join digunakan untuk menggabungkan baris dari dua atau lebih tabel, berdasarkan kolom yang sama diantara keduanya. Ada berbagai macam JOIN pada SQL, yaitu:
1. INNER JOIN, menampilkan semua baris record yang memiliki setidaknya satu nilai yang cocok di kedua tabel.
Gambar 5.1 Inner Join Visual Diagram
Syntaks Inner Join:
SELECT nama_kolom(s)
FROM tabelA
INNER JOIN tabelB
ON tabelA.nama_kolom=tabelB.nama_kolom;
atau
SELECT nama_kolom(s) FROM tabelA
JOIN tabelB
ON tabelA.nama_kolom=tabelB.nama_kolom;
2. FULL JOIN, memilih semua data dari Tabel A dan Tabel B, terlepas dari apakah kondisi join terpenuhi atau tidak.
Gambar 5.2 Full Join Visual Diagram
Syntaks full join:
SELECT nama_kolom(s) FROM tabelA
FULL OUTER JOIN tabelB
ON tabelA.nama_kolom=tabelB.nama_kolom;
3. LEFT JOIN, memilih semua data dari Tabel A, bersama dengan record dari Tabel B dimana kondisi join terpenuhi (jika semua ada).
Gambar 5.3 Left Join Visual Diagram
Syntaks left join:
SELECT nama_kolom(s) FROM tabelA
LEFT JOIN tabelB
ON tabelA.nama_kolom=tabelB.nama_kolom;
atau
SELECT nama_kolom(s) FROM tabelA
LEFT OUTER JOIN tabelB
ON tabelA.nama_kolom=tabelB.nama_kolom;
4. RIGHT JOIN, memilih semua data dari Tabel B, bersama dengan record dari Tabel A dimana kondisi join terpenuhi (jika semua ada).
Gambar 5.4 Right Join Visual Diagram
Syntaks right join:
SELECT nama_kolom(s) FROM tabelA
RIGHT JOIN tabelB
ON tabelA.nama_kolom=tabelB.nama_kolom;
atau
SELECT nama_kolom(s) FROM tabelA
RIGHT OUTER JOIN tabelB
ON tabelA.nama_kolom=tabelB.nama_kolom;
D. Latihan
1. Saya ingin mengetahui anggota yang melakukan peminjaman dengan kode prodi 6 2. Tampilkan kode_anggota, nama, waktu_pinjam, waktu_kembali, nama_jenis_buku