Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mengalih keluar data pendua dalam oracle

Bagaimana untuk mengalih keluar data pendua dalam oracle

青灯夜游
青灯夜游asal
2022-03-17 13:10:309178semak imbas

Dalam Oracle, anda boleh menggunakan kata kunci Distinct untuk mengalih keluar data pendua dan menapis baris pendua dalam set hasil Kata kunci ini boleh memastikan bahawa nilai lajur atau lajur yang dinyatakan adalah unik. Sintaks ialah "PILIH nama medan DISTINCT DARI nama jadual data;".

Bagaimana untuk mengalih keluar data pendua dalam oracle

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Oracle 11g, komputer Dell G3.

Dalam Oracle, anda boleh menggunakan kata kunci Distinct untuk mengalih keluar data pendua.

Kata kunci Oracle Distinct

Gunakan klausa SELECT dalam pernyataan DISTINCT untuk menapis baris pendua dalam set hasil. Ia memastikan bahawa nilai yang dikembalikan dalam lajur atau lajur yang ditentukan dalam klausa SELECT adalah unik.

Yang berikut menggambarkan sintaks pernyataan SELECT DISTINCT:

SELECT DISTINCT
  column_name
FROM
  table_name;

Dalam sintaks di atas, nilai dalam lajur table_name column_name jadual akan dibandingkan untuk menapis Pendua.

Untuk mendapatkan semula data unik berdasarkan berbilang lajur, hanya nyatakan senarai lajur dalam klausa SELECT, seperti berikut:

SELECT
    DISTINCT column_1,
    column_2,
        ...
FROM
    table_name;

Dalam sintaks ini, column_1, Gabungan daripada nilai dalam column_2 dan column_n digunakan untuk menentukan keunikan data. Klausa

DISTINCT hanya boleh digunakan dalam pernyataan SELECT.

Sila ambil perhatian bahawa DISTINCT bukan sinonim untuk standard SQL UNIQUE. Ia adalah tabiat yang baik untuk sentiasa menggunakan DISTINCT dan bukannya UNIQUE.

Contoh Oracle DISTINCT

Berikut ialah beberapa contoh cara menggunakan SELECT DISTINCT untuk melihat cara ia berfungsi.

1. Contoh Oracle DISTINCT digunakan pada lajur

Lihat jadual Kenalan (contacts) dalam pangkalan data sampel:

Bagaimana untuk mengalih keluar data pendua dalam oracle

Contoh berikut mendapatkan semula nama semua kenalan:

SELECT first_name
FROM contacts
ORDER BY first_name;

Laksanakan pernyataan pertanyaan di atas dan dapatkan hasil berikut-

Bagaimana untuk mengalih keluar data pendua dalam oracle

Pertanyaan mengembalikan 319 baris, menunjukkan bahawa jadual kenalan (contacts) mempunyai baris 319.

Untuk mendapatkan nama kenalan yang unik, anda boleh menambah kata kunci DISTINCT pada pernyataan SELECT di atas, seperti berikut:

SELECT DISTINCT first_name
FROM contacts
ORDER BY first_name;

Laksanakan pernyataan pertanyaan di atas untuk mendapatkan Perkara berikut hasil -

Bagaimana untuk mengalih keluar data pendua dalam oracle

Pertanyaan ini mengembalikan 302 baris, menunjukkan bahawa jadual Kenalan (contacts) mempunyai 17 baris yang pendua dan mereka telah ditapis .

2. Contoh berbilang lajur aplikasi Oracle DISTINCT

Lihat jadual order_items di bawah:

Bagaimana untuk mengalih keluar data pendua dalam oracle

Pernyataan berikut Pilih ID dan kuantiti produk yang berbeza daripada jadual

: order_items

SELECT
    DISTINCT product_id,
    quantity
FROM
    ORDER_ITEMS
ORDER BY product_id;
Laksanakan pernyataan pertanyaan di atas dan dapatkan keputusan berikut -

Bagaimana untuk mengalih keluar data pendua dalam oracle

dalam contoh ini , nilai dalam lajur

dan product_id kedua-duanya digunakan untuk menilai keunikan baris dalam set hasil. quantity

3. Oracle DISTINCT dan NULL

menganggap nilai DISTINCT sebagai pendua. Jika anda menggunakan pernyataan NULL untuk menanyakan data daripada lajur dengan berbilang nilai SELECT DISTINCT, set hasil hanya mengandungi satu nilai NULL. NULL

Rujuk jadual

dalam pangkalan data sampel, strukturnya adalah seperti berikut - locations

Bagaimana untuk mengalih keluar data pendua dalam oracle

Pernyataan berikut diambil daripada lajur

dengan berbilang stateData nilai: NULL

SELECT DISTINCT state
FROM locations
ORDER BY state NULLS FIRST;
Laksanakan kod contoh di atas dan dapatkan hasil berikut -

Bagaimana untuk mengalih keluar data pendua dalam oracle

Seperti yang anda lihat dalam gambar di atas , hanya satu dikembalikan

Nilai. NULL

Tutorial yang disyorkan: "

Tutorial Oracle"

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar data pendua dalam oracle. 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