MySQL - klausa Distinct: Membongkar Kekuatan Unik

Hai teman-teman, para ahli basisdata masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia MySQL dan mengexplore fitur yang sangat berguna yang disebut klausa DISTINCT. Jangan khawatir jika Anda baru belajar pemrograman – saya akan menjadi panduan yang ramah, dan kita akan menyelesaikan topik ini langkah demi langkah. Jadi, ambil secangkir minuman favorit Anda, dan mari kita masuk ke dalamnya!

MySQL - Distinct Clause

Apa Itu Klausa DISTINCT MySQL?

Bayangkan Anda di sebuah pesta, dan Anda ingin tahu berapa jenis minuman yang disajikan. Anda tidak akan menghitung setiap botol Coke terpisah, kan? Anda hanya akan mencatat "Coke" sekali. Itu tepat apa yang klausa DISTINCT lakukan di MySQL – itu membantu kita mengidentifikasi dan mengambil nilai unik dari tabel basisdata.

Klausa DISTINCT digunakan dalam pernyataan SELECT untuk menghilangkan baris duplikat dari set hasil. Itu seperti seorang petugas VIP di klub, hanya membolehkan satu perwakilan dari setiap kelompok tamu identik masuk.

mari lihat contoh sederhana:

SELECT DISTINCT nama_kolom
FROM nama_tabel;

Query ini akan mengembalikan semua nilai unik dari kolom yang ditentukan di tabel.

Contoh Dalam Dunia Nyata

Pertimbangkan kita memiliki tabel yang disebut employees dengan data berikut:

id name department
1 Alice Sales
2 Bob Marketing
3 Carol Sales
4 David IT
5 Eve Marketing

Jika kita ingin tahu semua departemen yang berbeda di perusahaan kita, kita dapat menggunakan:

SELECT DISTINCT department
FROM employees;

Ini akan memberikan kita:

department
Sales
Marketing
IT

Lihat bagaimana itu menghapus duplikat secara rapih? Itu adalah keajaiban klausa DISTINCT!

Klausa DISTINCT Dengan Fungsi COUNT()

Sekarang, mari kita tingkatkan dan gabungkan DISTINCT dengan fungsi lain yang berguna: COUNT(). Duo dinamis ini memungkinkan kita untuk menghitung jumlah nilai unik di kolom.

SELECT COUNT(DISTINCT nama_kolom)
FROM nama_tabel;

Menggunakan contoh sebelumnya, jika kita ingin tahu berapa departemen yang berbeda kita punya, kita dapat menggunakan:

SELECT COUNT(DISTINCT department)
FROM employees;

Ini akan mengembalikan:

COUNT(DISTINCT department)
3

Itu seperti meminta, "Kita menawarkan berapa rasa es krim?" daripada "Berapa piring es krim yang telah kitajual?"

DISTINCT Pada Beberapa Kolom

Ini adalah tempat hal-hal menjadi sangat menarik. DISTINCT dapat memanjakan magicnya pada beberapa kolom sekaligus. Itu memperlakukan kombinasi kolom sebagai unit tunggal saat mengidentifikasi nilai unik.

SELECT DISTINCT kolom1, kolom2
FROM nama_tabel;

mari luaskan tabel employees kita:

id name department city
1 Alice Sales New York
2 Bob Marketing Chicago
3 Carol Sales New York
4 David IT Boston
5 Eve Marketing Chicago
6 Frank Sales Boston

Jika kita ingin tahu semua kombinasi departemen-kota yang unik:

SELECT DISTINCT department, city
FROM employees;

Ini akan memberikan kita:

department city
Sales New York
Marketing Chicago
IT Boston
Sales Boston

Perhatikan bagaimana "Sales" muncul dua kali karena itu berada di kota yang berbeda.

DISTINCT Dengan Nilai NULL

Ini adalah fakta menarik: di dunia DISTINCT, NULL dianggap sebagai nilai unik. Jika Anda memiliki beberapa nilai NULL di kolom, DISTINCT akan mengembalikan hanya satu NULL.

mari modifikasi tabel employees kita:

id name department project
1 Alice Sales Alpha
2 Bob Marketing NULL
3 Carol Sales Beta
4 David IT NULL
5 Eve Marketing Alpha

Jika kita menjalankan:

SELECT DISTINCT project
FROM employees;

Kita akan mendapat:

project
Alpha
NULL
Beta

Lihat bagaimana hanya ada satu NULL, meskipun kita memiliki dua nilai NULL di tabel?

Klausa DISTINCT Menggunakan Program Klien

Sekarang, mari kita praktikkan semua pengetahuan ini menggunakan program klien MySQL. Saya akan menggunakan klien perintah MySQL untuk contoh ini, tetapi prinsipnya berlaku untuk semua klien MySQL.

Pertama, mari buat tabel employees kita:

CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50),
project VARCHAR(50)
);

INSERT INTO employees VALUES
(1, 'Alice', 'Sales', 'Alpha'),
(2, 'Bob', 'Marketing', NULL),
(3, 'Carol', 'Sales', 'Beta'),
(4, 'David', 'IT', NULL),
(5, 'Eve', 'Marketing', 'Alpha');

Sekarang, mari kita coba beberapa query yang kita pelajari:

  1. Dapatkan semua departemen yang unik:

    SELECT DISTINCT department FROM employees;
  2. Hitung jumlah proyek yang unik:

    SELECT COUNT(DISTINCT project) FROM employees;
  3. Dapatkan semua kombinasi departemen-proyek yang unik:

    SELECT DISTINCT department, project FROM employees;

Coba ini di klien MySQL Anda, dan lihat klausa DISTINCT bekerja magicnya!

Kesimpulan

Dan itu adalah dia, teman-teman! Kita telah melakukan perjalanan melalui dunia DISTINCT, dari penggunaannya yang dasar hingga aplikasi yang lebih lanjut. Ingat, DISTINCT adalah seperti seorang asisten yang membantu membersihkan data Anda, menghapus duplikat dan memberikan pandangan yang lebih bersih atas informasi Anda.

Sekarang Anda terus mengembangkan pengalaman MySQL Anda, Anda akan menemukan DISTINCT sebagai alat yang dapat dipercaya di dalam kitab basisdata Anda. Itu sangat berguna ketika Anda berhadapan dengan dataset yang besar dan perlu mengidentifikasi nilai atau kombinasi unik secara cepat.

Terus latih, tetap curiga, dan sebelum Anda sadari, Anda akan menulis query kompleks dengan kepercayaan seorang ahli basisdata. Sampai jumpa lagi, selamat berkueri!

Credits: Image by storyset