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

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,...

Cara Install Patch 6.0 PES 2013 dan trik menyelesaikan beberapa error di PES 2013.

Cara Install Patch 6.0 PES 2013 dan trik menyelesaikan beberapa error di PES 2013. Assalamu'alaikum sobat. sekarang saatnya kita install Patch 6.0. tapi semua bahan-bahannya harus sudah di download terlebih dahulu ya. Caranya: Kalau sobat sudah pernah install patch sebelumnya, buka C:\Program Files (x86)\KONAMI\Pro Evolution Soccer 2013 dan hapus folder "kitserver 13" , file "rld.dll" dan "pes2013.exe"- jika belum pernah install patch nya silahkan skip langkah ini.  Ekstrak file dengan menggunakan WinRAR. Caranya, klik kanan pada file .part1 dan pilih "extract here" Double klik Installer.exe hasil ekstrak file .part1 tadi. ikuti langkah selanjutnya dan pastikan sobat memilih folder C:/Program Files (x86)/KONAMI/Pro Evolution Soccer 2013 Rename pes2013_100.exe menjadi pes2013.exe Rename rld_100.dll menjadi rld.dll Buka game nya pada pes2013.exe . jika tidak berhasil klik kanan dan pilih run as administrator *error* "Error when starting...

Array

Posted by : Bayu Aji Atmojo Array adalah sekumpulan data yang mempunyai nama variabel dan tipe data yang sama. karena mempunyai nama variabel yang sama, maka untuk membedakan data yang satu dengan yang lainnya maka digunkanlah nomor index. Bayangkan jika dalam program kita membutuhkan variabel yang banyak, misalnya 100 variabel. Maka, kalau kita harus mendeklarasikan satu-persatu hal ini akan kurang effisien. Maka di Java ada konsep yang dinamakan dengan array. Untuk memberikan keterangan yang jelas mengenai array maka dapat digambarkan sebagai berikut: ARRAY Deklarasi Array Untuk mendeklarasikan array bisa digunakan beberapa cara sebagai berikut: Tidak menyebutkan berapa jumlah elemen array . Untuk menyatakan berapa elemen dalam array, bisa diberikan setelah pendeklarasian. Format umumnya sebagai berikut: typeData[] namaArray; atau bisa juga typeData namaArray[]; Kurung siku bisa ditulis setelah tipeData atau namaArray-nya. Contoh: int[] bilangan; atau int b...