SQL #3
Fungsi Skalar Matematika, Fungsi Skalar Teks, Fungsi Agregat, GROUP BY, CASE — WHEN — THEN — ELSE
Halo, DATA ENTHUSIAST… Pada artikel sebelumnya link
, sudah belajar beberapa query dalam SQL, mulai dari SELECT, SELECT DISTINCT, LIMIT, dll. Jika sudah menguasai materi tersebut, maka kita bisa menambah lagi query lain yang tentu banyak penggunaannya dalam dunia data analyst.
Fungsi Skalar dan Fungsi Agregat
Mari kita mengenal apa itu fungsi skalar dan apa itu fungsi agregat. Fungsi skalar adalah kumpulan query yang digunakan untuk menghasilkan suatu nilai tunggal tertentu dari nilai data yang diinput. Fungsi skalar dapat digunakan juga untuk mengubah nilai dari suatu data. Sedangkan fungsi agregat adalah query yang digunakan untuk menghitung suatu nilai pada sekelompok data kemudian menghasilkan nilai tunggal dari hasil perhitungan tersebut.
Fungsi Skalar Matematika
Fungsi skalar matematika pada SQL ada banyak. Dalam artikel ini tidak semua fungsi skalar matematika ditunjukkan. Kalian bisa melihat secara lengkap pada web dokumentasi SQL. link
- abs(): menampilkan nilai mutlak suatu data. Penulisan query
ABS(nama_kolom)
- ceiling(): menampilkan bilangan bulat terkecil yang paling mendekati dari suatu bilangan real tertentu. Penulisan query
CEILING(nama_kolom)
- floor(): menampilkan bilangan bulat terbesar yang paling mendekati dari suatu bilangan real tertentu. Penulisan query
FLOOR(nama_kolom)
- exp(): menampilkan nilai eksponensial dari suatu bilangan tertentu. Penulisan query
EXP(nama_kolom)
- round(): menyederhanakan nilai desimal untuk mendapatkan nilai bulat atau mengurangi nilai pecahannya. Penulisan query
ROUND(nama_kolom, banyak_nilai_pecahan_yang_diinginkan)
- sqrt(): menampilkan nilai akar kuadrat dari suatu bilangan. Penulisan query
SQRT(nama_kolom)
- mod(): menampilkan sisa pembagian dari 2 bilangan. Penulisan query
MOD(nama_kolom/angka_yang_dibagi, angka_pembagi)
Fungsi Skalar Teks
Tidak hanya pada fungsi matematika saja, fungsi skalar pada SQL juga ada penerapannya pada teks. Kalian bisa melihat secara lengkap pada dokumentasi SQL. link
- concat(): menggabungkan nilai data pada baris yang sama. Nilai NULL diabaikan. Penulisan query
CONCAT(nama_kolom1, nama_kolom2,...)
- substring_index(): memisahkan nilai data pada suatu kolom dengan acuan tanda tertentu sebagai pemisahnya dan mengembalikan nilai data teks yang diinginkan sesuai dengan indeks teks. Indeks pada SQL dimulai dari 1. Penulisan query
SUBSTRING_INDEX(nama_kolom, 'tanda_pemisah', indeks)
- substr(): mengambil potongan teks/huruf tertentu pada teks dalam kolom dengan menentukan indeks huruf dan jumlah huruf yang diambil. Penulisan query
SUBSTR(nama_kolom, indeks_huruf_yang_diambil, jumlah_huruf_yang_diambil)
- length(): memanggil jumlah huruf/karakter pada teks. Penulisan query
LENGH(nama_kolom)
- replace(): mengganti potongan teks dengan potongan teks yang lain pada teks dalam kolom. Penulisan query
REPLACE(nama_kolom, 'potongan_teks_yang_diganti', 'potongan_teks_pengganti')
- upper(): mengubah huruf pada teks dalam kolom menjadi huruf kapital semua. Penulisan query
UPPER(nama_kolom)
- lower(): mengubah huruf pada teks dalam koom menjadi huruf kecil semua. Penulisan query
LOWER(nama_kolom)
Fungsi Agregat
Diberikan beberapa contoh dari fungsi agregat berikut. Untuk lebih lengkapnya, kalian bisa kunjungi website dokumentasi SQL. link
- sum(): menampilkan perhitungan penjumlahan nilai data dari suatu kolom. Penulisan query
SUM(nama_kolom)
- avg(): menampilkan perhitungan rata-rata nilai data dari suatu kolom. Penulisan query
AVG(nama_kolom)
- stddev_pop(): menampilkan perhitungan standar deviasi populasi nilai data dari suatu kolom. Penulisan query
STDDEV_POP(nama_kolom)
- stddev_samp(): menampilkan perhitungan standar deviasi sampel nilai data dari suatu kolom. Penulisan query
STDDEV_SAMP(nama_kolom)
- count(): menghitung jumlah baris dalam suatu kolom. Penulisan query
COUNT(nama_kolom)
- min(): menampilkan nilai data terkecil dari suatu kolom. Penulisan query
MIN(nama_kolom)
- max(): menampilkan nilai data terbesar dari suatu kolom. Penulisan query
MAX(nama_kolom)
GROUP BY
Query GROUP BY digunakan ketika kita ingin mengelompokkan data ke dalam suatu kelompok. Ada 3 hal yang perlu diperhatikan dalam penulisan query GROUP BY:
- GROUP BY dalam SELECT. Nama kolom GROUP BY yang ingin digunakan dalam query SELECT, maka perlu dicantumkan juga pada query SELECT.
- Jika ada query WHERE, maka penulisan query GROUP BY ditempatkan setelahnya.
- Jika ada query ORDER BY, maka penulisan query GROUP BY ditempatkan sebelumnya.
Selain itu, ada 2 jenis pengelompokan menggunakan GROUP BY
- GROUP BY berdasarkan satu kategori/kolom. Berarti data dikelompokkan berdasarkan satu kategori/kolom tertentu saja. Misal, pengelompokan berdasarkan pekerjaan. Penulisan query
GROUP BY (nama_kolom)
- GROUP BY berdasarkan 2 atau lebih kategori/kolom. Misal, pengelompokan berdasarkan pekerjaan dan jenis kelamin. Penulisan query
GROUP BY (nama_kolom1, nama_kolom2,...)
CASE — WHEN — THEN — ELSE
Query CASE — WHEN — THEN — ELSE secara umum fungsinya sama sebagaimana IF…THEN…ELSE pada bahasa pemrograman lainnya. Query seperti ini biasanya sering dipakai untuk memberikan kategori tertentu terhadap kondisi tertentu. Penulisan query-nya adalah
CASE
WHEN kondisi1 THEN hasil1
WHEN kondisi2 THEN hasil2
WHEN kondisi3 THEN hasil3
.
.
.
ELSE hasil_lain
END
Query CASE akan mengevaluasi jika kondisi pertama (kondisi1) terpenuhi, maka akan menghasilkan hasil1. Jika kondisi1 tidak terpenuhi, maka query akan mengevaulasi pada kondisi2. Jika kondisi2 terpenuhi maka akan menghasilkan hasil2. Jika kondisi2 tidak terpenuhi, maka query akan mengevaluasi pada kondisi3 dan seterusnya demikian sampai apabila suatu nilai data tidak memenuhi kondisi yang dituliskan, maka akan menghasilkan nilai ELSE-nya. Dan ditutup dengan query END.
Demikian penjelasan beberapa query SQL di atas. Kita akan belajar lebih banyak lagi query SQL yang biasa dipakai dalam dunia data analyst pada artikel selanjutnya. Sampai jumpa.
Don’t be mind to give your comment for this article.