SQL #3

Muhammad Farhan Agus Trisasti
4 min readOct 13, 2022

--

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:

  1. GROUP BY dalam SELECT. Nama kolom GROUP BY yang ingin digunakan dalam query SELECT, maka perlu dicantumkan juga pada query SELECT.
  2. Jika ada query WHERE, maka penulisan query GROUP BY ditempatkan setelahnya.
  3. Jika ada query ORDER BY, maka penulisan query GROUP BY ditempatkan sebelumnya.

Selain itu, ada 2 jenis pengelompokan menggunakan GROUP BY

  1. 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)
  2. 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.

About me.

--

--