Dewan Komputer
Blog berisi tentang tips dan trik komputer serta berbagai macam tutorial pemrograman
Home / 2019 / January / 5 / Contoh Query Database SQL Tingkat Lanjut atau Expert
DATABASE
Contoh Query Database SQL Tingkat Lanjut atau Expert – Hai sobat dewan komputer ketemulagi dengan saya dan pada kesempatan kali ini
saya ingin memposting tentang contoh query database tingkat lanjut atau expert. Query ini sudah saya coba pada database MySQL dan
dimana-mana juga sebagian besar query work pada database lainnya seperti SQL Server, Oracle, dll. Query database berfungsi untuk manulis
sebuah perintah pada database. Pada contoh-contoh kali ini bukanlah query dasar yang biasa digunakan melainkan query yang sudah sulit
atau penggabungan dari query-query tersebut oleh karena itu bisa saya sebut tingkat expert.
1. PERINTAH SELECT :
a. IN
https://dewankomputer.com/2019/01/05/contoh-query-database-sql-tingkat-lanjut-atau-expert/ 1/7
1/9/22, 12:24 AM Contoh Query Database SQL Tingkat Lanjut atau Expert - Dewan Komputer
Contoh:
[Tidak ada batas banyaknya nilai yang bisa ada di dalam IN (…)]
Query ini berfungsi jika sobat ingin memfilter suatu data namun data yang difilter lebih dari satu. Query ini bisa mempersingkat query sobat
dibandingkan sobat menggunakan OR. Pada contoh diatas berarti perintahnya menampilkan data yang ada pada tabel mahasiswa yang
mempunyai kode_prodi ‘si‘ dan ‘ti’.
b. NOT IN
Contoh:
– SELECT * FROM tbl_mahasiswa WHERE kode_prodi <> ‘si’ AND kode_cabang <> ‘ti’;
Query ini kebalikan dari IN. Query ini juga sangat berguna untuk mempersingkat query pada aplikasi yang sobat buat. Nilai NULL tidak akan
tampil dalam IN dan NOT IN. Perhatikan perbedaan penggunaan OR dan AND dalam IN dan NOT IN. Pada contoh diatas artinya menampilkan
data yang ada pada tabel mahasiswa yang mempunyai nilai kode_prodi selain ‘si‘ dan ‘ti’
2. PERINTAH BETWEEN
a. BETWEEN
Contoh:
– SELECT * FROM tbl_rekening WHERE saldo >= 500000 AND saldo <= 1000000;
Nilai yang pertama dalam BETWEEN harus lebih kecil dari nilai yang kedua. Pada contoh diatas artinya menampilkan data yang ada pada
tabel rekening dan mempunyai nilai saldo antara 500000 dan 1000000.
b. NOT BETWEEN
Contoh:
– SELECT * FROM tbl_rekening WHERE saldo NOT BETWEEN 500000 AND 1000000;
– SELECT * FROM tbl_rekening WHERE saldo < 500000 OR saldo > 1000000;
Fungsi NOT BETWEEN merupakan kebalikan dari fungsi BETWEEN. Perhatikan perbedaan penggunaan AND dan OR dalam BETWEEN dan
NOT BETWEEN. Pada query diatas artinya menampilkan semua data yang ada pada tabel rekening yang mempunyai nilai saldo selain 500000
–1000000 atau dengan kata lain di bawah 500000 dan diatas 1000000.
3. FUNGSI AGGREGATE
Query dengan fungsi Aggredat antara lain MIN ( ), MAX ( ), COUNT( ), SUM ( ), AVG ( ).
a) MIN ( )
Contoh:
Bisa dibatasi dengan WHERE clause sehingga hanya record(-record) tertentu yang ditelusuri:
https://dewankomputer.com/2019/01/05/contoh-query-database-sql-tingkat-lanjut-atau-expert/ 2/7
1/9/22, 12:24 AM Contoh Query Database SQL Tingkat Lanjut atau Expert - Dewan Komputer
Digunakan untuk mencari nilai terkecil dari sekumpulan record. Pada contoh pertama artinya tampilkan saldo paling kecil pada tabel
rekening. Pada contoh kedua artinya tampilkan saldo paling kecil pada tabel rekening yang mempunyai nilai ‘clp‘ pada kolom kode_cabang.
b) MAX ( )
Contoh:
Digunakan untuk mencari nilai terbesar dari sekumpulan record. Pada contoh pertama artinya tampilkan saldo paling besar pada tabel
rekening. Pada contoh kedua artinya tampilkan saldo paling besar pada tabel rekening yang mempunyai nilai ‘clp‘ pada kolom kode_cabang.
c) COUNT ( )
Contoh:
Jika kita ingin menghitung banyaknya record yang unik (tidak ada pengulangan), gunakan DISTINCT:
1. Pada contoh paling atas a,b,c artinya sama yaitu menampilkan jumlah baris pada tabel mahasiswa.
2. Pada contoh kedua yang menggunakan WHERE artinya menampilkan jumlah baris yang diberi nama ‘jmlsks’ dari tabel matkul yang
mempunyai nilai 4 pada kolom ‘sks’, gunanya diberi nama ‘jmlsks’ adalah jika sobat ingin menampilkan data pada website tentunya
memanggil nama kolomnya/headernya. Jika menggunakan fungsi ini headernya dideklarasikan sebagai jmlsks.
3. Pada contoh paling bawah yang menggunakan DISTINC artinya menampilkan jumlah yang pada kolom nama_mahasiswa tidak sama yang
ada pada tabel mahasiswa.
d) SUM ( )
Contoh:
1. Pada contoh pertama artinya menampilkan hasil penjumlahan semua saldo yang ada pada tabel rekening.
2. Pada contoh kedua artinya menampilkan hasil penjumlahan semua saldo yang ada pada tabel rekening yang mempunyai kode_cabang
‘CLP‘.
e) AVG ( )
https://dewankomputer.com/2019/01/05/contoh-query-database-sql-tingkat-lanjut-atau-expert/ 3/7
1/9/22, 12:24 AM Contoh Query Database SQL Tingkat Lanjut atau Expert - Dewan Komputer
Contoh:
1. Artinya menampilkan jumlah rata-rata saldo yang ada pada tabel rekening.
2. Artinya menampilkan jumlah rata-rata saldo yang ada pada tabel rekening yang mempunyai nilai ‘CLP’ pada kolom kode_cabang.
3. Artinya menampilkan saldo terkecil, saldo terbesar, rata-rata saldo pada tabel rekening.
4. Artinya menampilkan jumlah saldo yang sebelumnya ditambahkan 1000, misalkan ada 3 record yaitu mempunyai nilai 5000, 6000 dan
7000, maka rumusnya akan menjadi (5000+1000)+(6000+1000)+(7000+1000)=21000.
5. Artinya menampilkan jumlah saldo keseluruhan ditambah 1000, misalkan ada 3 record yaitu mempunyai nilai 5000, 6000 dan 7000, maka
rumusnya akan menjadi (5000+6000+7000)+1000=19000.
6. Artinya rumus pengurangan yaitu saldo paling besar dikurangi saldo paling kecil yang ada pada tabel rekening.
4. GROUP BY
Contoh:
Yang harus diperhatikan ketika menggunakan GROUP BY. Jika menggunakan GROUP BY, semua field yang ingin ditampilkan dalam SELECT
harus tercantum di GROUP BY.
5. HAVING
Merupakan pasangan dari GROUP BY, digunakan untuk membatasi kelompok yang ditampilkan:
https://dewankomputer.com/2019/01/05/contoh-query-database-sql-tingkat-lanjut-atau-expert/ 4/7
1/9/22, 12:24 AM Contoh Query Database SQL Tingkat Lanjut atau Expert - Dewan Komputer
Contoh :
• Jika menggunakan HAVING, maka pembatasan dilakukan setelah hasil dikelompokkan dalam GROUP BY.
• Jika menggunakan WHERE, maka pembatasan dilakukan sebelum hasil dikelompokkan dalam GROUP BY.
• Field(-field) yang disebut di HAVING harus ada di GROUP BY, atau berupa aggregate functions.
GROUP BY sangat cocok untuk aggregate functions. Dengan menggunakan GROUP BY, kita bisa mengelompokkan record-record dan
menghitung min, max, count, sum, dan avg untuk masing-masing kelompok.
Contoh:
FROM tbl_rekening
GROUP BY kode_cabang;
GROUP BY nama_cabang
ORDER BY nama_cabang;
Perintah SQL di bawah menampilkan banyaknya nasabah yang dilayani oleh masing-masing cabang bank:
GROUP BY nama_cabang
ORDER BY nama_cabang;
FROM rekening
GROUP BY kode_cabang
ORDER BY kode_cabang;
https://dewankomputer.com/2019/01/05/contoh-query-database-sql-tingkat-lanjut-atau-expert/ 5/7
1/9/22, 12:24 AM Contoh Query Database SQL Tingkat Lanjut atau Expert - Dewan Komputer
Karena SUM(saldo) hanya bisa dihitung setelah hasil dikelompokkan dengan GROUP BY, maka kita harus menggunakan HAVING untuk
membatasi hasil berdasarkan SUM(saldo) >= 5000000. Kita tidak bisa menggunakan WHERE.
Query diatas merupakan query yang wajib sobat pelajari karena jika sobat membuat aplikasi apalagi untuk sebuah perusahaan, sobat tidak
bisa hanya dengan query itu-itu saja yang standar karena nanti akan menyebabkan aplikasi tidak berkalan dengan maksimal. Sekian
postingan saya tentang Contoh Query Database SQL Tingkat Lanjut atau Expert. Jika ada salah-salah mohon dikoreksi, jika sobat mempunyai
fungsi yang sulit namun belum ada pada postingan diatas mohon bisa diberitahu karena saya juga masih belajar dan kita tidak bisa puas
dengan ilmu yang kita miliki karena dunia pemrograman akan berkembang sepanjang waktu. Sekian dan terimakasih.
Related
Cara Membuat Koneksi dengan Database Cara Membuat Koneksi dengan Database Cara Ekspor Laporan/Data dari Database
MySQL bisa Dua atau Lebih Koneksi MySQL menggunakan PHP – Part 1 MySQL ke dalam Word Tanpa Plugin
database/Multiple Connection dalam Satu January 9, 2019 January 12, 2019
Host maupun beda Host Menggunakan PHP In "Native" In "Native"
– Part 3
January 10, 2019
In "Native"
dewan says:
October 10, 2020 at 4:06 pm
Dadang says:
March 14, 2021 at 12:20 am
Untuk select dengan multi where.. gimana ya Pak. Mohon pencerahannya… Contoh:
dewan says:
March 17, 2021 at 11:34 am
Dadang says:
March 19, 2021 at 2:14 am
https://dewankomputer.com/2019/01/05/contoh-query-database-sql-tingkat-lanjut-atau-expert/ 6/7
1/9/22, 12:24 AM Contoh Query Database SQL Tingkat Lanjut atau Expert - Dewan Komputer
bagaimana query mencari selisih bulan antara tglpemesanan(tabelA) dengan tgltibabarang (tabelB) ??
mohon pencerahannya…Terimakasih
dewan says:
March 24, 2021 at 7:13 am
contoh :
SELECT datediff((SELECT tgl1 FROM tablea LIMIT 1), (SELECT tgl2 FROM tableb LIMIT 1));
anonym says:
December 21, 2021 at 4:47 am
https://dewankomputer.com/2019/01/05/contoh-query-database-sql-tingkat-lanjut-atau-expert/ 7/7