Oracle SELECT DISTINCT

Podsumowanie: w tym poradniku dowiesz się, jak używać instrukcji Oracle SELECT DISTINCT do odpytywania o różne dane z tabel.

Wprowadzenie do instrukcji Oracle SELECT DISTINCT

Klauzula DISTINCT jest używana w instrukcji SELECT do filtrowania zduplikowanych wierszy w zbiorze wyników. Zapewnia ona, że zwracane wiersze są unikatowe dla kolumny lub kolumn określonych w klauzuli SELECT.

Następnie zilustrowano składnię instrukcji SELECT DISTINCT:

W tej instrukcji wartości w column_1 instrukcji table są porównywane w celu określenia duplikatów.

Aby pobrać unikatowe dane na podstawie wielu kolumn, wystarczy określić listę kolumn w klauzuli SELECT w następujący sposób:

W tej składni kombinacja wartości w kolumnach column_1, column_2 i column_3 jest używana do określenia unikatowości danych.

Klauzula DISTINCT może być używana tylko w instrukcji SELECT.

Zauważ, że DISTINCT jest synonimem UNIQUE, który nie jest standardem SQL. Dobrą praktyką jest zawsze używanie DISTINCT zamiast UNIQUE.

Oracle SELECT DISTINCT przykłady

Przyjrzyjrzyjmy się kilku przykładom użycia SELECT DISTINCT, aby zobaczyć, jak to działa.

A) Oracle SELECT DISTINCT przykład jednej kolumny

Zobacz tabelę contacts w przykładowej bazie danych:

Następujący przykład pobiera wszystkie imiona kontaktów:

Kwerenda zwróciła 319 wierszy, wskazując, że tabela contacts ma 319 wierszy.

Aby uzyskać unikatowe pierwsze imiona kontaktów, dodajemy słowo kluczowe DISTINCT do powyższej instrukcji SELECT w następujący sposób:

Teraz zbiór wyników ma 302 wiersze, co oznacza, że usunięto 17 zduplikowanych wierszy.

B) Oracle SELECT DISTINCT wiele kolumn przykład

Zobacz następującą tabelę order_items:

Następująca instrukcja wybiera distinct product id i quantity z tabeli order_items:

Następująca instrukcja ilustruje wynik:

W tym przykładzie obie wartości kolumn product_id i quantity są używane do oceny unikalności wierszy w zbiorze wyników.

C) Oracle SELECT DISTINCT i NULL

Kolumna DISTINCT traktuje wartości NULL jako duplikaty siebie nawzajem. Jeśli użyjesz instrukcji SELECT DISTINCT do odpytywania danych z kolumny, która ma wiele wartości NULL, zestaw wyników będzie zawierał tylko jedną wartość NULL.

Zobacz tabelę locations w przykładowej bazie danych.

Następująca instrukcja pobiera dane z kolumny state, która ma wiele wartości NULL:

Wynik:

Jak widać, zwracana jest tylko jedna wartość NULL.

Zauważ, że jeśli chcesz zastosować instrukcję DISTINCT do niektórych kolumn, pomijając jednocześnie inne kolumny, powinieneś zamiast tego użyć klauzuli GROUP BY.

W tym poradniku dowiedziałeś się, jak używać instrukcji SELECT DISTINCT w celu uzyskania unikalnych danych na podstawie jednej lub więcej kolumn.

  • Czy ten poradnik był pomocny?
  • TakNie

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.