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