Langsung ke konten utama

ARTIKEL SQL TINGKAT LANJUT

Perintah select
IN
Contoh:
– SELECT * FROM rekening
WHERE kode_cabang IN (’BRUM’, ‘BRUL’);
Perintah SQL di atas sama dengan:
– SELECT * FROM rekening
WHERE kode_cabang = ‘BRUM’
OR kode_cabang = ‘BRUL’;
Tidak ada batas banyaknya nilai yang bisa ada di dalam IN (…).


NOT IN
Contoh:
– SELECT * FROM rekening
WHERE kode_cabang NOT IN (’BRUS’, ‘BRUM’);
Perintah SQL di atas sama dengan:
– SELECT * FROM rekening
WHERE kode_cabang <> ‘BRUS’
AND kode_cabang <> ‘BRUM’;
Nilai NULL tidak akan tampil dalam IN dan NOT IN.
Perhatikan perbedaan penggunaan OR dan AND dalam IN dan NOT IN.


BETWEEN
Contoh:
– SELECT * FROM rekening
WHERE saldo BETWEEN 500000 AND 1000000;
Perintah SQL di atas sama dengan:
– SELECT * FROM rekening
WHERE saldo >= 500000 AND saldo <= 1000000;
• Nilai yang pertama dalam BETWEEN harus lebih kecil dari nilai yang kedua.
• Bisa untuk string.

NOT BETWEEN
Contoh:
– SELECT * FROM rekening
WHERE saldo NOT BETWEEN 500000 AND 1000000;
Perintah SQL di atas sama dengan:
– SELECT * FROM rekening
WHERE saldo < 500000 OR saldo > 1000000;
• Perhatikan perbedaan penggunaan AND dan OR dalam BETWEEN dan NOT BETWEEN.


FUNGSI AGGREGATE
Antara lain MIN ( ), MAX ( ), COUNT( ), SUM ( ), AVG ( ).

a) MIN ( )
Digunakan untuk mencari nilai terkecil dari sekumpulan record.
Contoh:
SELECT MIN(saldo) FROM rekening;
Bisa dibatasi dengan WHERE clause sehingga hanya record(-record) tertentu yang ditelusuri:
SELECT MIN(saldo) FROM rekening
WHERE kode_cabang = ‘BRUS’;

b) MAX ( )
Digunakan untuk mencari nilai terbesar dari sekumpulan record.
Contoh:
SELECT MAX(saldo) FROM rekening;
Juga bisa dibatasi dengan WHERE clause:
SELECT MAX(saldo) FROM rekening
WHERE kode_cabang = ‘BRUS’;

c) COUNT ( )
Digunakan untuk menghitung banyaknya record.
Contoh:
a. SELECT COUNT(*) FROM nasabah;
b. SELECT COUNT(nama_nasabah) FROM nasabah;
c. SELECT COUNT(alamat_nasabah) FROM nasabah;
Juga bisa dibatasi dengan WHERE clause.

Jika kita ingin menghitung banyaknya record yang unik (tidak ada pengulangan), gunakan DISTINCT:
SELECT COUNT(DISTINCT alamat_nasabah)
FROM nasabah;

select count(sks) as jmlsks from mtkul where sks=4;
d) SUM ( )
Digunakan untuk menjumlahkan nilai-nilai dari sekumpulan record.
Contoh:
SELECT SUM(saldo) FROM rekening;
Bisa dibatasi dengan WHERE clause:
SELECT SUM(saldo) FROM rekening
WHERE kode_cabang = ‘BRUS’;
e) AVG ( )
Digunakan untuk menghitung rata-rata nilai dari sekumpulan record.
Contoh:
SELECT AVG(saldo) FROM rekening;
Bisa dibatasi dengan WHERE clause:
SELECT AVG(saldo) FROM rekening
WHERE kode_cabang = ‘BRUS’;

Beberapa aggregate functions bisa digabungkan dalam satu perintah SQL:
– SELECT MIN(saldo), MAX(saldo), AVG(saldo)
FROM rekening;
Bisa menambahkan ekspresi aritmetika:
– SELECT SUM(saldo + 1000) FROM rekening;
– SELECT SUM(saldo) + 1000 FROM rekening;
– SELECT MAX(saldo) - MIN(saldo) FROM rekening;
Bisa menggunakan column alias (AS) untuk membuat tampilan lebih profesional.

GROUP BY
Digunakan untuk mengelompokkan sekumpulan record berdasarkan kolom(-kolom) tertentu.
Contoh:
• SELECT jenis_transaksi FROM transaksi
GROUP BY jenis_transaksi;
• SELECT jenis_transaksi, tanggal FROM transaksi
GROUP BY jenis_transaksi, tanggal;
Hasil yang sama bisa didapatkan dengan menggunakan DISTINCT:
• SELECT DISTINCT jenis_transaksi, tanggal
FROM transaksi;
Yang harus diperhatikan ketika menggunakan GROUP BY
• Jika menggunakan GROUP BY, semua field yang ingin ditampilkan dalam SELECT harus tercantum di GROUP BY.
• Contoh yang salah:
– SELECT jenis_transaksi, tanggal FROM transaksi
GROUP BY jenis_transaksi;
– SELECT jenis_transaksi, tanggal FROM transaksi
GROUP BY tanggal;
• Contoh yang benar:
– SELECT jenis_transaksi, tanggal FROM transaksi
GROUP BY jenis_transaksi, tanggal;

HAVING
Merupakan pasangan dari GROUP BY, digunakan untuk membatasi kelompok yang ditampilkan:
• SELECT jenis_transaksi, tanggal FROM transaksi
GROUP BY jenis_transaksi, tanggal
HAVING jenis_transaksi = ‘kredit’;
Hasil yang sama bisa didapatkan dengan:
• SELECT jenis_transaksi, tanggal FROM transaksi
WHERE jenis_transaksi = ‘kredit’
GROUP BY jenis_transaksi, tanggal;
Yang harus diperhatikan :
• 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.

Contoh implementasi
• Contoh yang salah:
– SELECT jenis_transaksi, tanggal FROM transaksi
GROUP BY jenis_transaksi, tanggal
HAVING jumlah = 50000;
• Contoh yang benar:
– SELECT jenis_transaksi, tanggal FROM transaksi
WHERE jumlah = 50000
GROUP BY jenis_transaksi, tanggal;


Penggabungan GROUP BY dengan Aggregate
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:
• SELECT kode_cabang, MIN(saldo), MAX(saldo), COUNT(*), SUM(saldo), AVG(saldo)
FROM rekening
GROUP BY kode_cabang;
• Bisa digabungkan dengan tabel join dan ORDER BY:
o SELECT nama_cabang, SUM(saldo)
FROM rekening NATURAL JOIN cabang_bank
GROUP BY nama_cabang
ORDER BY nama_cabang;
• Hasil di atas menampilkan total saldo untuk masing-masing cabang_bank.
• Perintah SQL di bawah menampilkan banyaknya nasabah yang dilayani oleh masing-masing cabang bank:
o SELECT nama_cabang, COUNT(DISTINCT id_nasabah)
FROM cabang_bank NATURAL JOIN rekening NATURAL JOIN nasabah_has_rekening
GROUP BY nama_cabang
ORDER BY nama_cabang;
• Contoh dengan HAVING:
o SELECT kode_cabang, SUM(saldo), COUNT(*)
FROM rekening
GROUP BY kode_cabang
HAVING SUM(saldo) >= 5000000
ORDER BY kode_cabang;
• 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.

Komentar

Postingan populer dari blog ini

Software Pendukung Web Dinamis

Software Pendukung Web Dinamis : 1.       Web server                              : apache, IIS 2.       Database server                       : Mysql, Postgre, Sql Server 3.       Web editor                              : notepad, Dreamweaver 4.       Image Editor                           : Corel, Photoshop 5.       Animate Editor...

install driver GPU

Detail langkah mulai dari step 4 dalam clean install driver GPU : 4.b. Detail dari step 4 pada uninstall driver GPU dibedakan antara AMD dan Nvidia : AMD Catalyst : Buka control panel –> pilih program and features –> pilih AMD/ATI Catalyst Install Manager –> pilih change klik next seperti pada gambar dibawah ini select express uninstall all ATI software ikuti prosesnya sampai selesai User account control akan meminta gamers untuk allow dari perintah eksekusi dari uninstall driver, maka proses uninstall akan dilakukan . Setelah proses selesai maka akan muncul tampilan seperti dibawah ini, gamers akan diminta restart, silahkan lakukan restart dan lanjutkan ke step 5. Nvidia Forceware : Buka control panel –> pilih program and features –> Nvidia Force (version) –> pilih Uninstall akan muncul gambar seperti dibawah ini Setelah  pemmZHolics pilih uninstall maka proses nya akan berjalan lalu akan diminta Restart Proses Unin...

Aktivasi Corel Draw X4 dengan Crack

Aktivasi Corel Draw X4 dengan Crack Bagi teman yang punya Applikasi Corel Draw, dan tidak bisa dibuka karena teman tidak punya Serial number.. silahkan Baca ya di Blog saya :D .. Banyak sekali orang yang membicarakan tentang hal ini.. (Crack Corel Draw mana sih? gimana?) begitu mereka mengetahuinya, mereka langsung sedot dari Internet dan Menerapkannya di Komputer / Laptop Sendiri :D.. Baiklah, sekarang saya ingin memberi tahu akan cara menggunakan Crack pada Corel Draw X4  :) Disabled Alat dan Bahan : Crack PSIKey_2.dll Cara Kerja: 1. Install Corel Draw X4 2. Usahakan jangan mengisi lisensi kode / kode apapun 3. Ketika anda telah Menyelesaikan proses Installasi, pergi ke direktori berikut: <Drive_Patch>\Program Files\Corel\CorelDRAW Graphics Suite X4\Programs 4. Pindahkan File Crack kedalam Direktori diatas dan pilih "Replace". 5. Jalankan Program Corel Draw X4 6. Enjoy B) jika corel draw tersebut tidak dapat Save,Export,Import,Cut,Copy,...