Tässä SQL-oppaassa keskitytään SQL:n DISTINCT-avainsanaan Oraclessa ja annetaan selityksiä, esimerkkejä ja harjoituksia. Tämän oppitunnin harjoituksia varten käytä tätä linkkiä.

Tämä opetusohjelma on osa useista viesteistä, joissa selitetään peruskyselyjen kirjoittamista Oraclessa. Voit lukea muita tätä aihetta koskevia viestejä seuraavien linkkien kautta:

  • SQL:n SELECT-peruslausekkeiden kirjoittaminen
  • SQL:n aritmeettiset operaattorit
  • SQL:n sarakkeiden aliakset
  • SQL:n merkkijonojen ketjuttaminen
  • SQL:n DISTINCT-avainsana

Oraclen DISTINCT-avainsana

Oraclen kyselyjen oletusnäyttö on kaikki rivit, myös duplikaattiset rivit. Oracle DISTINCT -avainsanaa SELECT-lausekkeessa käytetään päällekkäisten rivien poistamiseen ja ainutlaatuisen arvoluettelon näyttämiseen.

Esimerkki: Oletetaan, että meillä on Asiakkaat-taulukko, joka sisältää luettelon asiakkaista eri kaupungeista: 40 asiakasta Lontoosta, 30 Liverpoolista ja 30 Manchesterista. Sinua pyydettiin näyttämään luettelo kaupungeista, joissa nämä asiakkaat asuvat:

SELECT cityFROM customers

Tämä Oraclen lauseke ei ole kovin hyödyllinen, koska se hakee 100 riviä (Lontoo palautuu 40 kertaa, Liverpool palautuu 30 kertaa ja Manchester palautuu 30 kertaa), vaikka tarkoituksemme oli näyttää vain 3 riviä.

Tämän ongelman ratkaisemiseksi ja vain yksilöllisten arvojen hakemiseksi käytä Oracle DISTINCT -avainsanaa:

SELECT DISTINCT column_nameFROM table_name SELECT DISTINCT cityFROM customers

Tulos:

CITY------LondonLiverpoolManchester

Huomautus : Oracle DISTINCT -avainsana on sisällytettävä heti Oracle SELECT -avainsanan jälkeen.

Oracle DISTINCT Statement on Multiple Columns

Oraclen DISTINCT-avainsanan jälkeen on mahdollista määrittää useampi kuin yksi sarake. Oracle DISTINCT -lause vaikuttaa kaikkiin valittuihin sarakkeisiin, jolloin tulos näyttää eri sarakkeiden arvojen ainutlaatuisen yhdistelmän. Esimerkiksi luettelo eri kaupungeista ja maista tulevista asiakkaista:

.

Asiakkaan nimi kaupunki maa
John Smith Liverpool Englanti
Sophia Williams Lontoo Englanti
Emma Miller Liverpool Englanti
Olivia Wilson Pariisi Ranska
Logan Davis Pariisi Ranska

Voit nähdä, että Liverpoolissa on kaksi asiakasta-Englannista, kaksi asiakasta Pariisista – Ranskasta ja yksi asiakas Lontoosta – Englannista.

Oraclen DISTINCT-lauseen suorittaminen sarakkeelle Maa johtaa 2 rivin hakemiseen (Englanti,Pariisi).

SELECT DISTINCT countryFROM customers

Oraclen DISTINCT-lauseen suorittaminen sarakkeelle Kaupunki johtaa 3 rivin hakemiseen (Liverpool, Lontoo, Pariisi).

SELECT DISTINCT city FROM customers

Jos suoritat Oracle DISTINCT -lausekkeen sekä Kaupunki että Maa-sarakkeille:

SELECT DISTINCT city , countryFROM customers

Haetaan kolme tulosta: Liverpool Englanti, Lontoo Englanti, Pariisi Ranska.

Haetaan kolme tulosta: Liverpool Englanti, Lontoo Englanti, Pariisi Ranska.

Vastaa

Sähköpostiosoitettasi ei julkaista.