MySQL - klausa Distinct: Membongkar Kuasa Unik
Hai daar, para ahli basisdata masa depan! Hari ini, kita akan mengemban sebuah perjalanan menarik ke dunia MySQL dan menjelajahi fitur yang sangat berguna yang disebut klausa DISTINCT. Jangan khawatir jika Anda baru belajar pemrograman - saya akan menjadi panduan ramah Anda, dan kita akan mengatasi topik ini secara bertahap. Jadi, ambil secangkir minuman kesukaan Anda, dan mari kita masuk ke dalamnya!
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 menghapus baris duplikat dari hasil set. Itu seperti seorang bouncer VIP di klub, hanya membolehkan satu perwakilan dari setiap kelompok tamu identik masuk.
Mari kita lihat contoh sederhana:
SELECT DISTINCT nama_kolom
FROM nama_tabel;
Kueri ini akan mengembalikan semua nilai unik dari kolom yang ditentukan dalam tabel.
Contoh Dalam Dunia Nyata
Pertimbangkan jika 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 dalam perusahaan kita, kita dapat menggunakan:
SELECT DISTINCT department
FROM employees;
Ini akan memberikan kita:
department |
---|
Sales |
Marketing |
IT |
Lihat bagaimana itu secara cantik menghapus duplikat? Itu adalah keajaiban DISTINCT!
Klausa DISTINCT Dengan Fungsi COUNT()
Sekarang, mari kita naik tingkat dan gabungkan DISTINCT dengan fungsi lain yang berguna: COUNT(). Duo dinamis ini memungkinkan kita menghitung jumlah nilai unik dalam 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 bertanya, "Kami menawarkan berapa rasa es krim?" bukan "Berapa sendok es krim yang telah kamijual?"
DISTINCT Pada Beberapa Kolom
Ini adalah di mana hal-hal menjadi sangat menarik. DISTINCT dapat bekerja magicnya pada beberapa kolom sekaligus. Itu memperlakukan kombinasi kolom sebagai satu unit ketika mengidentifikasi nilai unik.
SELECT DISTINCT kolom1, kolom2
FROM nama_tabel;
Mari kita luaskan tabel employees
:
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: dalam dunia DISTINCT, NULL dianggap sebagai nilai unik. Jika Anda memiliki beberapa nilai NULL dalam kolom, DISTINCT akan mengembalikan hanya satu NULL.
Mari kita modifikasi tabel employees
:
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 kita?
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 kita buat tabel employees
:
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 cobalah beberapa kueri yang kita pelajari:
-
Dapatkan semua departemen yang unik:
SELECT DISTINCT department FROM employees;
-
Hitung jumlah proyek yang unik:
SELECT COUNT(DISTINCT project) FROM employees;
-
Dapatkan semua kombinasi departemen-proyek yang unik:
SELECT DISTINCT department, project FROM employees;
Coba ini dalam program klien MySQL Anda, dan lihat klausa DISTINCT bekerja magicnya!
Kesimpulan
Dan di sana Anda ada, teman-teman! Kita telah mengemban perjalanan melalui negeri DISTINCT, dari penggunaan dasar hingga aplikasi yang lebih tingkat tinggi. Ingat, DISTINCT adalah seperti seorang asisten yang membantu membersihkan data Anda, menghapus duplikat dan memberikan Anda pandangan yang lebih bersih atas informasi Anda.
Sekarang Anda teruskan menjalankan MySQL Anda, Anda akan menemukan DISTINCT sebagai alat yang dapat dipercaya dalam set alat basisdata Anda. Itu sangat berguna ketika Anda berhadapan dengan dataset besar dan perlu segera mengidentifikasi nilai atau kombinasi unik.
Terus latih, tetap curiga, dan sebelum Anda tahu, Anda akan menulis kueri yang kompleks dengan kepercayaan seorang ahli basisdata berpengalaman. Sampaijumpa lagi, selamat menanyakan!
Credits: Image by storyset