TietokoneetTiedostotyypit

SQL erillistä: kuvaus, esimerkkejä ominaisuudet

Usein kun käytät SQL hakea tietoja taulukoista, käyttäjä saa tarpeeton tieto on olemassa aivan samanlainen päällekkäisiä rivejä. Tilanteen, käyttää SQL erillistä väitettä lauseessa Select. Tämä artikkeli käsittelee esimerkkejä käytöstä tämän väitteen, sekä tilanteet, joissa hakemus on hylätty sillä perusteella.

Ennen kuin siirrymme tarkastelemaan erityisiä esimerkkejä, luoda tietokanta tarvitaan pari taulukoita.

valmistus taulukko

Kuvitella, että meillä on tietokanta tallentaa tietoa tapetti esitetään kaksi taulukkoa. Tämä taulukko oboi (taustakuvan), jonka tunnus on kentät (yksilöllinen tunniste), joka on tyyppiä (tyyppi tapetti -. Paperi, vinyyli, jne.), Väri (color), struct (rakenne) ja (hinta). Ja taulukko Ostatki (tähteet) kanssa id_oboi kentät (viittaus yksilöllinen tunniste taulukossa Oboi) ja määrä (rullien lukumäärä varastossa).

Täytä tiedot taulukosta. Taulukon lisätä taustakuvan 9 Records:

oboi

id

tyyppi

väri

struct

hinta

1

paperi

monivärinen

kohokuvioitu

56.9

2

paperi kaksikerroksinen

beige

sileä

114,8

3

vinyyli

oranssi

kohokuvioitu

504

4

fleece

beige

kohokuvioitu

1020,9

5

paperi kaksikerroksinen

beige

sileä

150,6

6

paperi

monivärinen

sileä

95,4

7

vinyyli

ruskea

sileä

372

8

fleece

valkoinen

kohokuvioitu

980,1

9

kangas

pinkki

sileä

1166,5

Pöydän jäännökset - ja yhdeksän kirjaa:

Ostatki

id_oboi

laskea

1

8

2

12

3

24

4

9

5

16

6

7

7

24

8

32

9

11

Siirrymme kuvauksen erillisiä järjestyksessä SQL.

Aseta erillinen Select lausekkeen

erilliset argumentti tulisi sijoittaa heti Valitse avainsanan kyselyitä. Hän soveltaa kaikkiin sarakkeet määritelty lauseessa Select, koska se jätetään lopullinen kyselyn tulos on täysin samanlainen jousille. Niinpä kun riittää täsmentää kirjoittaessaan SQL «valita eri» pyynnöstä. Poikkeuksena on käyttää erillistä sisällä koostefunktioita että tarkastelemme hieman myöhemmin.

On syytä muistaa, että suurin osa tietokannan ja ei tunnista pyynnön tyyppi:

SELECT eri Ostatki.Count, eri Oboi. *

FROM oboi

Sisäliitos Ostatki ON Oboi.id = Ostatki.id_oboi

Siellä ei pidetty väitettä useita kertoja tai kerran määritetty, mutta ennen toisen, kolmannen tai toiseen valittuun sarakkeeseen. Saat virheilmoituksen viittaa virhe syntaksin.

Soveltaminen eri kyselyitä standardi

On selvää, että kunnon rakennuksen pöydät ja täyttämällä ne sisällä yhden pöydän ulkopuolelle tilannetta, kun on täysin samanlainen jousille. Näin ollen kyselyn suorittamisen «Valitse eri *» näytteen kanssa yhden taulukossa on epäkäytännöllinen.

Ajatellaan tilannetta, kun meidän on tiedettävä, millaista meillä taustakuvaksi, vain mukavuussyistä, lajitella tyypin:

VALINTA Oboi.type

FROM Oboi järjestyksessä tyyppi

Ja saada tuloksia:

tyyppi

paperi

paperi

paperi kaksikerroksinen

paperi kaksikerroksinen

vinyyli

vinyyli

kangas

fleece

fleece

Kuten nähdään taulukosta on päällekkäisiä rivejä. Jos tähän lisätään ehdotus Valitse selvä:

SELECT eri Oboi.type

FROM Oboi järjestyksessä tyyppi

saamme tuloksen ilman toistoa:

tyyppi

paperi

paperi kaksikerroksinen

vinyyli

kangas

fleece

Niinpä jos oikein syöttää tietoja taulukkoon, sitten heti puhelun jälkeen tai pyynnöstä ostajat voimme vastata, että neste tapetit, lasikuitu ja akryyli tapetit kaupassa saatavilla ei ole. Kun otetaan huomioon, että kauppoja ei yleensä ole rajoitettu sataan taustakuva, näyttää luettelon ei-ainutlaatuinen tyypit olisivat varsin työvoimavaltaista.

Soveltaminen eri koostefunktioita sisällä

SQL eri väitettä voidaan käyttää minkä tahansa koostefunktiolla. Mutta Min ja Max sen soveltaminen ei ole vaikutusta, mutta kun lasketaan summa tai keskiarvo on harvoin tilanne, jossa kukaan ei olisi otettava huomioon toistoja.

Oletetaan haluamme tarkistaa kapasiteetin varastoomme ja lähettää tämän pyynnön, laskee kokonaismäärä keloja varastossa:

SELECT summa (Ostatki.count)

FROM Ostatki

Pyyntö antaa vastauksen 143. Jos me kuitenkin muuttuu:

SELECT summa (eri Ostatki.count)

FROM Ostatki

saadaan yhteensä 119, taustakuvaksi osanumerot 3 ja 7 ovat hyllyssä saman verran. On kuitenkin selvää, että vastaus on väärä.

Useimmiten käytetty SQL eri funktio count. Joten, voimme helposti selvittää, kuinka monta ainutlaatuista tyyppisiä tapetti, meillä on:

Valitse määrä (eri Oboi.type)

FROM oboi

Ja saada tulos 5 - tavalliselle paperille ja kaksikerroksiset vinyyli ja ei-kudottu kangas. Varmasti kaikki nähneet mainoksia kuten: "Vain meillä on yli 20 erilaista tapetti" jolla tarkoitetaan sitä, että tämä kauppa ei ole vain pari tusinaa sämpylöitä ja erilaisia tapetti modernin tyyppejä.

On mielenkiintoista, että saman kyselyn, voit määrittää useita toimintoja, kuten Count ominaisuus DISTINCT, ja ilman sitä. Tämä on ainoa tilanne, jossa erillisiä Select'e voi olla läsnä useita kertoja.

Kun luopua käyttöä argumentti

Käytöstä SQL erillisten argumentti tulisi luopua jossakin kahdessa tapauksessa:

  1. Teet valikoima taulukoita ja luottavat ainutlaatuista arvoa kunkin. Tässä tapauksessa käyttö argumentti on sopimaton, koska se on ylimääräinen kuormitus palvelimen tai asiakkaan (riippuen DBMS).
  2. Oletko pelkää menettävänsä tietoja. Olkaamme selittää.

Oletetaan pomo pyytää sinua luetella taustakuva, että olet, ja johon on merkitty vain kaksi saraketta - tyyppi ja väri. Tavan, annat argumentti selvä:

SELECT eri Oboi.type, Oboi.color

FROM oboi

TILAA Oboi.type

Ja - menettää joitakin tietoja:

tyyppi

väri

paperi

monivärinen

paperi kaksikerroksinen

beige

vinyyli

ruskea

vinyyli

oranssi

kangas

pinkki

fleece

beige

fleece

valkoinen

Se voi antaa vaikutelman, että paperi tapetti (tavanomainen ja kaksipuoliset) olemme vain yksi mielessä, itse asiassa, jopa meidän pieni pöytä kahden esineen (seurauksena ilman erillistä):

tyyppi

väri

paperi

monivärinen

paperi

monivärinen

paperi kaksikerroksinen

beige

paperi kaksikerroksinen

beige

vinyyli

ruskea

vinyyli

oranssi

kangas

pinkki

fleece

valkoinen

fleece

beige

Siksi, kuten kirjallisesti kaikki pyynnöt sillä perusteella selkeä tarve olla varovainen ja toimivalta päättää sen soveltamisesta, tehtävästä riippuen.

vaihtoehtoiset erilliset

Vastoin väitettä eri - Kaikki argumentti. Sen soveltaminen duplikaattien tallennetaan. Mutta oletukseksi tietokanta ja toteaa, että on tarpeen näyttää kaikki arvot väite All - se on pikemminkin karsinta kuin funktion argumentti. Toivottavasti nyt ymmärtää, että eri (SQL) käytetään. Kuvaus antaa sinulle täyden tietoa mahdollisuutta käyttää tätä argumenttia ratkaisemaan erilaisia ongelmia. Loppujen lopuksi, kuten kävi ilmi, vaikka tällainen yksinkertainen väitettä kannekirjelmässään kätkee hyvin konkreettinen mahdollisuus menettää joitakin tietoja ja näyttää virheellisiä tietoja.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fi.birmiss.com. Theme powered by WordPress.