Dibimbing - SQL HAVING: Fungsi, Perbedaan dengan WHERE, dan Contohnya
Blog
Data Science & Data Analyst

SQL HAVING: Fungsi, Perbedaan dengan WHERE, dan Contohnya

Author

DITULIS OLEH 

Farijihan Putri

Reviewer

DIREVIEW OLEH 

Sudah Direview Oleh Expert

Dibuat pada 26 Okt 2026

Diubah pada 15 Nov 2026

64

Image Thumbnail

SQL HAVING membantu kamu menyaring hasil pengelompokan data sesuai kebutuhan analisis. Saat mengolah ribuan transaksi, kamu mungkin ingin mencari kategori produk dengan penjualan tertentu atau pelanggan dengan jumlah pesanan terbanyak.


Nah, klausa ini bisa membantu kamu mendapatkan hasil yang lebih relevan lewat query SQL. 


Kalau Warga Bimbingan ingin memperdalam kemampuan SQL untuk menunjang karier, kamu juga bisa mempertimbangkan Bootcamp Data Analyst offline agar belajar lewat praktik dan studi kasus.




Apa Itu Klausa HAVING di SQL?

HAVING adalah klausa SQL yang digunakan untuk memfilter hasil pengelompokan data, terutama ketika kamu perlu menerapkan kondisi pada fungsi agregat. Klausa tersebut biasanya dipakai bersama GROUP BY untuk menyaring kelompok berdasarkan hasil perhitungan tertentu.


Bayangkan kamu punya data penjualan dari berbagai kategori produk. Kamu ingin mengetahui kategori yang menghasilkan total penjualan lebih dari Rp10 juta. 


Kamu bisa mengelompokkan transaksi berdasarkan kategori, menghitung total penjualannya, lalu menggunakan HAVING untuk menampilkan kategori yang memenuhi syarat tersebut.


Dengan cara ini, hasil query bisa lebih terarah dan memudahkan proses analisis data.


Baca Juga: 

  1. Rekomendasi Bootcamp Data Analytics dengan Jaminan Kerja Terbaik
  2. Data Analyst Roadmap untuk Pemula sampai Siap Kerja
  3. Panduan Data Analyst untuk Non-IT di Jakarta: Cara Efektif Beralih Profesi


Fungsi HAVING SQL

Secara umum, HAVING membantu kamu menyaring kelompok data berdasarkan kondisi yang sudah ditentukan. Berikut beberapa fungsi yang perlu kamu pahami.

  1. Memfilter Hasil Agregasi: Kamu bisa menampilkan kelompok data yang memenuhi syarat berdasarkan nilai SUM(), COUNT(), atau fungsi agregat lainnya.
  2. Menyederhanakan Hasil Query: Data yang muncul lebih relevan dengan tujuan analisis sehingga kamu lebih mudah menemukan informasi penting.
  3. Mendukung Pengambilan Keputusan: Hasil penyaringan bisa membantu tim memahami kategori produk, pelanggan, atau periode penjualan yang perlu diperhatikan.


Misalnya, tim marketing ingin melihat produk yang terjual lebih dari 100 unit selama periode tertentu. 


Dengan HAVING, kamu bisa menyaring hasil penghitungan jumlah produk terjual tanpa harus memeriksa setiap kelompok secara manual.


Perbedaan HAVING dan WHERE SQL


Perbedaan HAVING dan WHERE SQL

Sumber: Pexels


HAVING dan WHERE sama-sama digunakan untuk menentukan kondisi dalam query SQL. Perbedaannya terletak pada data yang disaring dan waktu penerapan kondisinya.


1. Fungsi Utama

WHERE digunakan untuk menyaring baris data berdasarkan kondisi tertentu sebelum proses pengelompokan dilakukan. Sementara itu, HAVING menyaring kelompok data setelah pengelompokan dan perhitungan agregat.


Contohnya, kamu ingin menganalisis transaksi berstatus selesai. Gunakan WHERE untuk memilih transaksi tersebut terlebih dahulu. 


Setelah itu, kamu bisa memakai HAVING untuk menampilkan kategori dengan total transaksi di atas jumlah tertentu.


2. Fungsi Agregasi

WHERE umumnya digunakan untuk kondisi pada nilai di setiap baris, seperti harga produk atau status transaksi. HAVING cocok untuk kondisi yang melibatkan fungsi agregat, seperti SUM(), COUNT(), AVG(), MIN(), dan MAX().


Contohnya, kamu ingin mencari pelanggan yang memiliki lebih dari lima pesanan. Karena perlu menghitung jumlah pesanan setiap pelanggan, kamu bisa menggunakan COUNT() bersama HAVING.


3. Posisi Query

Dalam susunan query, WHERE ditulis sebelum GROUP BY, sedangkan HAVING ditulis setelah GROUP BY. Jika query juga menggunakan ORDER BY, klausa tersebut biasanya ditempatkan setelah HAVING.


Memahami urutan ini membantu kamu menyusun query dengan lebih rapi dan mengurangi kesalahan saat melakukan analisis.




Contoh Penggunaan Klausa HAVING SQL

Sekarang, coba gunakan contoh sederhana berikut. Misalnya, kamu memiliki tabel penjualan dengan kolom kategori, nama_produk, dan jumlah_terjual. Kamu ingin mengetahui kategori yang total penjualannya melebihi 100 unit.


Berikut query yang bisa digunakan:

SELECT kategori, SUM(jumlah_terjual) AS total_penjualan

FROM penjualan

GROUP BY kategori

HAVING SUM (jumlah_terjual) > 100;


Apa yang dilakukan query tersebut?

  1. SELECT memilih kategori dan menghitung total produk terjual.
  2. FROM menentukan tabel yang digunakan.
  3. GROUP BY kategori mengelompokkan transaksi berdasarkan kategori.
  4. HAVING SUM(jumlah_terjual) > 100 menampilkan kategori dengan total penjualan lebih dari 100 unit.


Sebagai contoh, hasilnya bisa menampilkan kategori Elektronik dengan total 150 unit dan Peralatan Rumah dengan total 120 unit. Kategori dengan total 80 unit tidak akan muncul.


Contoh ini menunjukkan bagaimana fungsi agregat dan filter data bisa digunakan bersama untuk menghasilkan informasi yang lebih mudah dibaca.


Baca Juga: 

  1. Testimoni Career Switch dari Designer ke Data Analyst Profesional
  2. Bootcamp Data Analyst Offline Dibimbing: Upgrade Skill, Gaji Naik!
  3. Switch Career Data Analyst Masih Worth It? Panduan Lengkap


Sintaks HAVING SQL

Secara umum, sintaks HAVING dapat ditulis seperti berikut:


SELECT kolom, fungsi_agregat(kolom_lain)

FROM nama_tabel

WHERE kondisi

GROUP BY kolom

HAVING kondisi_agregat

ORDER BY kolom;


Kamu bisa menyesuaikan bagian WHERE, GROUP BY, HAVING, dan ORDER BY berdasarkan kebutuhan. WHERE bersifat opsional jika kamu tidak perlu menyaring baris sejak awal.


Contohnya, kamu ingin menghitung jumlah pesanan yang sudah selesai untuk setiap pelanggan, lalu menampilkan pelanggan dengan lebih dari tiga pesanan.

SELECT customer_id, COUNT(order_id) AS total_pesanan

FROM pesanan

WHERE status = 'Selesai'

GROUP BY customer_id

HAVING COUNT(order_id) > 3

ORDER BY total_pesanan DESC;


Query ini memilih pesanan berstatus selesai, menghitung jumlahnya per pelanggan, kemudian menampilkan pelanggan yang memiliki lebih dari tiga pesanan. Hasilnya diurutkan dari jumlah pesanan terbanyak.


Mengapa Klausa HAVING SQL Penting bagi Data Analyst?

Kemampuan menggunakan HAVING membantu kamu mengolah data secara lebih terarah. Dalam pekerjaan sehari-hari, data analyst sering perlu mencari pola, membandingkan hasil agregasi, dan menyajikan temuan yang bisa ditindaklanjuti oleh tim bisnis.


Kamu bisa memanfaatkan klausa ini untuk berbagai kebutuhan, seperti:

  1. Mengidentifikasi pelanggan dengan frekuensi pembelian tinggi.
  2. Menemukan kategori produk dengan kontribusi penjualan terbesar.
  3. Mengevaluasi jumlah transaksi berdasarkan wilayah atau periode.
  4. Menyiapkan ringkasan data untuk laporan bisnis.


Kalau ingin berkarier sebagai data analyst, kamu juga perlu menguasai SQL dasar, fungsi agregat, pengolahan data, dan visualisasi data. 


Kamu bisa mengeksplorasi Bootcamp Data Analyst Jakarta atau mencari kursus data analyst Jakarta untuk memperkuat keterampilan melalui latihan dan proyek.


Rekomendasi Bootcamp Data Analytics Jakarta dengan Jaminan Kerja Terbaik di Indonesia

Menguasai SQL HAVING bisa menjadi langkah awal untuk meningkatkan kemampuan analisis data, dan kamu bisa mengembangkan skill tersebut lewat Bootcamp Data Analytics Jakarta Dibimbing yang menyediakan berbagai fasilitas belajar serta dukungan persiapan karier.


Benefit kelas Data Analytics Offline meliputi:

  1. 100+ offline class bersama mentor ahli
  2. 15+ real case study dan mini project untuk portofolio
  3. Final project berbasis standar industri terkini
  4. Pendampingan fasilitator dan mentor yang tersedia 24/7
  5. Live coding test untuk persiapan rekrutmen
  6. Program graduation dan penyaluran kerja ke 1.100+ perusahaan
  7. Konsultasi 1-on-1 offline dengan instruktur expert
  8. 20+ English class untuk persiapan karier
  9. Magang selama 3 bulan di hiring company Dibimbing
  10. Ruang kelas yang nyaman dan modern.


Punya pertanyaan seputar jadwal kelas, kurikulum, hingga penyaluran kerja? Kamu bisa konsultasi gratis dengan tim Dibimbing untuk mengetahui program yang sesuai dengan kebutuhanmu, termasuk pilihan kursus data analyst offline di Jakarta.


FAQ

1. Apakah HAVING wajib digunakan bersama GROUP BY?

HAVING paling umum digunakan bersama GROUP BY untuk menyaring hasil kelompok. Beberapa sistem database juga mengizinkan HAVING tanpa GROUP BY untuk memfilter hasil agregasi seluruh data.


2. Apakah HAVING bisa menggunakan lebih dari satu kondisi?

Bisa. Kamu dapat menggabungkan kondisi menggunakan AND atau OR. Misalnya, menampilkan kategori dengan total penjualan di atas 100 unit dan rata-rata harga di atas Rp50.000.


3. Fungsi agregat apa saja yang bisa digunakan dengan HAVING?

Kamu bisa menggunakan SUM(), COUNT(), AVG(), MIN(), dan MAX(), sesuai kebutuhan perhitungan dalam query.

Share:

Penulis

Penulis Image

Farijihan Putri

Farijihan Putri adalah SEO Content Writer dengan pengalaman 4+ tahun menulis dan mengoptimalkan konten untuk berbagai topik. Di Dibimbing, ia mengolah beragam insight seputar karier dan industri, mulai dari digital marketing, HR, data, finance, business, hingga technology. Melalui tulisannya, Jihan membantu pembaca memahami skill yang dibutuhkan di dunia kerja serta menemukan informasi yang relevan untuk mendukung perkembangan karier mereka.

Reviewer

Reviewer Image

Sudah Direview Oleh Expert

Setiap artikel yang berlabel "Sudah Direview Oleh Expert" telah melalui proses peninjauan oleh praktisi atau mentor yang berpengalaman di bidangnya untuk memastikan informasi yang disajikan berkualitas, akurat, dan relevan bagi pembaca.

Hi!👋
Kalau kamu butuh bantuan,
hubungi kami via WhatsApp ya!

Metode Pembayaran

pembayaran

© 2026 PT Dibimbing. All Rights Reserved