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