BERBEDA di PostgreSQL: Pilih, Pesan Berdasarkan & Batasi (Contoh)

⚡ Ringkasan Cerdas

BERBEDA di PostgreSQL Digunakan dengan pernyataan SELECT untuk menghapus baris duplikat dan hanya mengembalikan nilai unik. Materi ini mencakup sintaks SELECT, SQL Shell dan pgAdmin, DISTINCT pada kolom tunggal dan ganda, serta perbedaan antara DISTINCT dan GROUP BY.

  • 🔎 PILIH: Mengambil kolom dari sebuah tabel dengan perintah SELECT column FROM table.
  • 🧹 BERBEDA: Hapus baris duplikat dan pertahankan satu baris untuk setiap nilai unik.
  • DIPESAN OLEH: Urutkan secara menaik secara default, atau menurun dengan DESC.
  • 🔢 MEMBATASI: Batasi jumlah data yang dikembalikan oleh kueri.
  • Alat: Jalankan kueri yang sama di SQL Shell atau pgAdmin.

BERBEDA di PostgreSQL

Anda dapat mengambil data dari tabel menggunakan pernyataan SELECT.

sintaks:

SELECT [column names] FROM [table_name]

Di sini,

  • nama kolom: Nama kolom yang nilainya ingin Anda ambil.
  • DARI: Klausul FROM mendefinisikan satu atau lebih tabel sumber untuk perintah SELECT.
  • nama_tabel: Nama tabel yang sudah ada yang ingin Anda kueri.

Apa yang MEMBEDAKAN dalam PostgreSQL?

The BERBEDA klausa dalam PostgreSQL Digunakan dengan pernyataan SELECT untuk menghapus baris duplikat dari hasil pencarian. Ketika sebuah kolom berisi nilai yang berulang, SELECT DISTINCT hanya mengembalikan nilai unik, dan seterusnya.ping Satu baris untuk setiap kelompok data duplikat. Ini berguna ketika Anda menginginkan daftar entri yang berbeda, seperti kota pelanggan unik atau kategori produk, tanpa pengulangan.

Fungsi DISTINCT mengevaluasi semua kolom yang tercantum dalam pernyataan SELECT untuk memutuskan apakah suatu baris bersifat unik. PostgreSQL Selain itu, juga menyediakan DISTINCT ON, yang mengembalikan baris pertama untuk setiap nilai unik dari ekspresi yang ditentukan. Anda dapat menggabungkan DISTINCT dengan ORDER BY untuk mengontrol baris mana yang muncul dan dengan LIMIT untuk membatasi jumlah hasil.

PostgreSQL Pilih Pernyataan di SQL Shell

Langkah 1) Kita memiliki tabel “tutorials” dengan 2 kolom, “id” dan “tutorial_name”. Mari kita lakukan query pada tabel tersebut. Gunakan query berikut untuk menampilkan data dalam tabel:

SELECT id,tutorial_name FROM tutorials;

PostgreSQL Pilih Pernyataan di SQL Shell

CATATAN: Gunakan perintah \c untuk terhubung ke basis data yang berisi tabel yang ingin Anda kueri. Dalam kasus kami, kami terhubung ke basis data guru99.

Langkah 2) Jika Anda ingin melihat semua kolom dalam tabel tertentu, kita dapat menggunakan karakter wildcard asterisk (*). Ini berarti sistem akan memeriksa setiap kemungkinan dan, sebagai hasilnya, akan menampilkan semua kolom.

SELECT * FROM tutorials;

PostgreSQL Pilih Pernyataan di SQL Shell

Ini menampilkan semua catatan tabel tutorial.

Langkah 3) Anda dapat menggunakan klausa ORDER untuk mengurutkan data dalam tabel berdasarkan kolom tertentu. Klausa ORDER mengatur data dalam urutan A sampai Z.

SELECT * FROM tutorials ORDER BY id;

PostgreSQL Pilih Pernyataan di SQL Shell

Anda dapat mengurutkan dari Z ke A menggunakan “DESC” setelah pernyataan “ORDER BY”.

SELECT * FROM tutorials ORDER BY id DESC;

PostgreSQL Pilih Pernyataan di SQL Shell

Langkah 4) Perintah SELECT DISTINCT di PostgreSQL klausa dapat digunakan untuk menghapus baris duplikat dari hasil. Itu menyimpan satu baris untuk setiap grup duplikat.

Syntax:
SELECT DISTINCT column_1 FROM table_name;

Mari kita melakukan query Postgres Select Distinct id values ​​dari tabel tutorial kita menggunakan query distinct di PostgreSQL:

SELECT DISTINCT(id) FROM tutorials;

PostgreSQL Pilih Pernyataan di SQL Shell

Langkah 5) Anda dapat menggunakan PostgreSQL Klausul LIMIT digunakan untuk membatasi jumlah record yang dikembalikan oleh query SELECT.

SELECT * FROM tutorials LIMIT 4;

PostgreSQL Pilih Pernyataan di SQL Shell

PostgreSQL Pilih Pernyataan di pgAdmin

Langkah 1) Di dalam Pohon Objek:

  1. Klik kanan pada Tabel.
  2. Pilih Skrip.
  3. Klik pada PILIH SKRIP.

PostgreSQL Pilih Pernyataan di pgAdmin

Langkah 2) Pada panel di sebelah kanan:

  1. Edit kueri SELECT jika diperlukan.
  2. Klik ikon Petir.
  3. Amati hasilnya.

PostgreSQL Pilih Pernyataan di pgAdmin

BERBEDA pada Beberapa Kolom

Klausul SELECT DISTINCT juga dapat diterapkan pada lebih dari satu kolom. Saat Anda mencantumkan beberapa kolom setelah DISTINCT, PostgreSQL Memperlakukan kombinasi kolom-kolom tersebut sebagai satu kesatuan dan menghapus baris-baris di mana kombinasi keseluruhan tersebut terduplikasi.

Syntax:
SELECT DISTINCT column_1, column_2 FROM table_name;

Sebagai contoh, untuk mendapatkan kombinasi unik dari tutorial_name dan id dari tabel tutorial:

SELECT DISTINCT tutorial_name, id FROM tutorials;

Dalam hal ini, sebuah baris hanya dihapus ketika tutorial_name dan id sama-sama cocok dengan baris lain. Jika dua baris memiliki tutorial_name yang sama tetapi nilai id berbeda, keduanya tetap dipertahankan, karena kombinasinya tetap unik. Perilaku ini penting untuk diingat: DISTINCT tidak menghapus duplikat satu kolom ketika beberapa kolom dipilih; ia menghapus duplikat seluruh rangkaian kolom yang dipilih secara bersamaan.

DISTINCT vs GROUP BY dalam PostgreSQL

Baik DISTINCT maupun GROUP BY dapat menghapus nilai duplikat, tetapi keduanya memiliki tujuan yang berbeda:

  • BERBEDA Fungsi ini hanya mengembalikan baris unik dari hasil dan paling cocok jika Anda hanya membutuhkan daftar yang sudah dihilangkan duplikatnya.
  • KELOMPOK OLEH Mengelompokkan baris yang memiliki nilai yang sama sehingga Anda dapat menerapkan fungsi agregasi seperti COUNT, SUM, atau AVG kepada setiap kelompok.

Sebagai contoh, kedua kueri di bawah ini sama-sama mengembalikan nilai id unik:

SELECT DISTINCT id FROM tutorials;
SELECT id FROM tutorials GROUP BY id;

Gunakan DISTINCT untuk daftar nilai unik biasa, dan gunakan GROUP BY ketika Anda juga memerlukan perhitungan per grup, seperti menghitung berapa banyak tutorial yang memiliki setiap id. Pada kueri sederhana, perencana sering menghasilkan kinerja yang serupa untuk keduanya, tetapi GROUP BY diperlukan setiap kali ada agregasi yang terlibat.

Lembar Curang

SELECT [column names] FROM [table_name] [clause]

Berikut berbagai parameternya:

  • nama kolom: Nama kolom yang nilainya ingin Anda ambil.
  • DARI: Klausul FROM mendefinisikan satu atau lebih tabel sumber untuk perintah SELECT.
  • nama_tabel: Nama tabel yang sudah ada yang ingin Anda kueri.

Berbagai klausa adalah:

Perintah Deskripsi
* Mengambil data untuk semua baris dalam tabel.
BERBEDA BERBEDA di PostgreSQL Membantu Anda menghapus duplikat dari hasil pencarian.
DIPESAN OLEH Mengurutkan baris berdasarkan kolom. Urutan pengurutan default adalah menaik. Gunakan kata kunci DESC untuk mengurutkan dalam urutan menurun.
MEMBATASI BATAS dalam PostgreSQL membatasi jumlah catatan yang dikembalikan oleh kueri.

Pertanyaan Umum Demo Slot

Ya. Asisten AI dapat mengubah deskripsi menjadi pernyataan SELECT DISTINCT, menambahkan ORDER BY atau LIMIT, dan menjelaskan hasilnya. Anda tetap harus menguji kueri pada skema Anda sebelum menjalankannya di lingkungan produksi.

Ya. Alat AI dapat membaca rencana kueri dari EXPLAIN ANALYZE dan menyarankan indeks atau menulis ulang DISTINCT menjadi GROUP BY. Selalu validasi saran dengan data nyata, karena kinerja bergantung pada ukuran tabel dan indeks.

DISTINCT menghapus baris duplikat di semua kolom yang dipilih. DISTINCT ON (ekspresi) mempertahankan baris pertama untuk setiap nilai unik dari ekspresi tersebut, memungkinkan Anda memilih satu baris per grup, biasanya dikombinasikan dengan ORDER BY.

Fungsi DISTINCT dapat lebih lambat pada tabel besar karena harus membandingkan dan menghapus duplikat, seringkali menggunakan pengurutan atau hash. Indeks yang tepat dan pembatasan kolom yang Anda pilih dapat membantu mengurangi biayanya.

Ringkaslah postingan ini dengan: