Rumah >pangkalan data >tutorial mysql >Menguasai SQL DISTINCT: Mengeluarkan Pendua Dibuat Mudah

Menguasai SQL DISTINCT: Mengeluarkan Pendua Dibuat Mudah

Barbara Streisand
Barbara Streisandasal
2024-12-27 06:52:10604semak imbas

Mastering SQL DISTINCT: Removing Duplicates Made Simple

Apakah Tujuan Kata Kunci DISTINCT dalam SQL?

Kata kunci DISTINCT dalam SQL digunakan untuk mengalih keluar baris pendua daripada set hasil pertanyaan. Ia memastikan bahawa pertanyaan hanya mengembalikan rekod unik untuk lajur yang ditentukan.


Bagaimana DISTINCT Berfungsi?

Apabila pertanyaan SELECT mendapatkan semula data, mungkin terdapat baris pendua dalam output. Dengan menambahkan kata kunci DISTINCT, SQL menapis pendua ini, mengekalkan hanya satu kejadian bagi setiap gabungan unik nilai dalam lajur yang ditentukan.


Sintaks:

SELECT DISTINCT column1, column2, ...
FROM table_name;

Contoh:

1. Mengalih keluar Pendua

Pertimbangkan jadual Pekerja:

EmployeeID Department
1 HR
2 IT
3 HR
4 Sales

Pertanyaan:

SELECT DISTINCT Department
FROM Employees;

Keputusan:

Department
HR
IT
Sales

Di sini, pendua dalam lajur Jabatan dialih keluar.


2. Memilih Gabungan Unik

Pertimbangkan Pesanan jadual lain:

OrderID CustomerID ProductID
101 1 A
102 1 B
103 1 A
104 2 C

Pertanyaan:

SELECT DISTINCT CustomerID, ProductID
FROM Orders;

Keputusan:

CustomerID ProductID
1 A
1 B
2 C

Di sini, DISTINCT menapis baris pendua berdasarkan gabungan ID Pelanggan dan ID Produk.


Bila Gunakan DISTINCT

  1. Untuk Mencari Nilai Unik:

    Apabila anda ingin mengetahui semua nilai unik dalam lajur atau gabungan lajur.

    Contoh: Menyenaraikan semua kategori produk yang berbeza dalam inventori.

  2. Untuk Menghapuskan Lebihan:

    Apabila baris pendua dalam set hasil tidak diperlukan untuk analisis atau pelaporan.

    Contoh: Mengambil nama jabatan unik daripada pangkalan data pekerja.

  3. Untuk Pembersihan Data:

    Membantu dalam menyediakan set data bersih dengan mengalih keluar pendua.


Keterbatasan DISTINCT

  1. Kesan Prestasi:

    Menggunakan DISTINCT boleh melambatkan pertanyaan, terutamanya pada set data yang besar, kerana SQL mesti mengimbas dan membandingkan baris untuk menapis pendua.

  2. Bukan untuk Deduplikasi Bersyarat:

    Jika anda mahu penyahduaan bersyarat (cth., mengekalkan baris terkini untuk setiap nilai unik), anda memerlukan teknik lain seperti ROW_NUMBER().


Petua Menggunakan DISTINCT

  1. Sentiasa gunakan DISTINCT hanya apabila perlu, kerana ia boleh menambah overhed pada pelaksanaan pertanyaan.
  2. Untuk penapisan kompleks, pertimbangkan alternatif seperti pengagregatan (KUMPULAN OLEH) atau fungsi analitik.

Kesimpulan

Kata kunci DISTINCT ialah alat yang mudah tetapi berkuasa untuk menghapuskan baris pendua dalam hasil pertanyaan SQL. Ia memastikan bahawa output anda hanya mengandungi nilai unik, menjadikannya sesuai untuk tugasan pelaporan dan analisis data. Walau bagaimanapun, gunakannya dengan bijak untuk mengimbangi prestasi dan ketepatan.

Atas ialah kandungan terperinci Menguasai SQL DISTINCT: Mengeluarkan Pendua Dibuat Mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn