Oracle SELECT DISTINCT

Yhteenveto: Tässä opetusohjelmassa opit käyttämään Oraclen SELECT DISTINCT-lauseketta erillisten tietojen kyselyyn taulukoista.

Oraclen SELECT DISTINCT -lausekkeen esittely

Oraclen SELECT DISTINCT -lausekkeen DISTINCT lausekkeella suodatetaan tulossarjassa esiintyvät kaksoistiedot. Sillä varmistetaan, että palautetut rivit ovat yksilöllisiä SELECT-lausekkeessa määritetyn sarakkeen tai sarakkeiden osalta.

Seuraavassa havainnollistetaan SELECT DISTINCT-lausekkeen syntaksia:

Tässä lausekkeessa verrataan column_1-lausekkeen table:n column_1:ssä olevia arvoja kaksoiskappaleiden määrittämiseksi.

Jos haluat hakea yksilöllisiä tietoja useiden sarakkeiden perusteella, sinun tarvitsee vain määrittää sarakeluettelo SELECT-lausekkeessa seuraavasti:

Tässä syntaksissa käytetään column_1:n, column_2:n ja column_3:n arvojen yhdistelmää tietojen yksilöllisyyden määrittämiseksi.

Lauseketta DISTINCT voidaan käyttää vain lausekkeessa SELECT.

Huomaa, että DISTINCT on synonyymi lausekkeelle UNIQUE, joka ei ole SQL-standardi. On hyvä käytäntö käyttää aina DISTINCT eikä UNIQUE.

Oracle SELECT DISTINCT -esimerkkejä

Katsotaanpa muutamia esimerkkejä SELECT DISTINCT:n käytöstä, jotta nähdään, miten se toimii.

A) Oracle SELECT DISTINCT yhden sarakkeen esimerkki

Katsotaan esimerkkitietokannan contacts-taulua:

Seuraavassa esimerkissä haetaan kaikki yhteyshenkilöiden etunimet:

Kysely palautti 319 riviä, mikä osoittaa, että contacts-taulussa on 319 riviä.

Koskevien yhteystietojen ainutkertaisten etunimien saamiseksi yllä olevaan SELECT-lausekkeeseen lisätään DISTINCT-avainsana seuraavasti:

Tulosjoukossa on nyt 302 riviä, mikä tarkoittaa, että 17 päällekkäistä riviä on poistettu.

B) Oracle SELECT DISTINCT useita sarakkeita esimerkki

Katsotaan seuraavaa order_items-taulukkoa:

Seuraavalla lausekkeella valitaan erilliset tuotetunnukset ja -määrät order_items-taulukosta:

Seuraavassa havainnollistetaan tulos:

Tässä esimerkissä molempien sarakkeiden product_id ja quantity arvoja käytetään tulosjoukon rivien yksikäsitteisyyden arviointiin.

C) Oracle SELECT DISTINCT ja NULL

Sarakkeessa DISTINCT NULL-arvoja käsitellään toistensa kaksoiskappaleina. Jos käytät SELECT DISTINCT-lauseketta tietojen kyselyyn sarakkeesta, jossa on useita NULL-arvoja, tulosjoukko sisältää vain yhden NULL-arvon.

Katso locations-taulukkoa esimerkkitietokannassa.

Seuraavalla lausekkeella haetaan tietoja state-sarakkeesta, jossa on useita NULL-arvoja:

Tulos:

Kuten näet, vain yksi NULL-arvo palautetaan.

Huomaa, että jos haluat soveltaa DISTINCT-lauseketta joihinkin sarakkeisiin ja jättää muut sarakkeet huomiotta, käytä sen sijaan GROUP BY-lauseketta.

Tässä opetusohjelmassa olet oppinut käyttämään SELECT DISTINCT-lauseketta saadaksesi yksilöiviä tietoja yhden tai useamman sarakkeen perusteella.

  • Oliko tästä opetusohjelmasta hyötyä?
  • KylläEi

Vastaa

Sähköpostiosoitettasi ei julkaista.