KompjuteraLloje file

SQL dallueshme: përshkrimi, shembuj, pronat

Shpesh, kur ju përdorni SQL për të rifitoj të dhënave nga tabelat, përdoruesi merr të dhënat tepërt është ekzistenca e një rreshtave absolutisht identike kopjuar. Për të shmangur këtë situatë, të përdorin argumentin e dallueshme SQL në fjalinë Select. Ky artikull do të diskutojë shembuj të përdorimit të këtij argumenti, si dhe situata në të cilën aplikimi duhet të braktisur nga argumenti.

Para se të vazhdojmë të marrin në konsideratë shembuj specifikë, të krijojë bazën e të dhënave e kërkuar një çift të tabelave.

Tabela përgatitja

Paramendoni se ne kemi një bazë të dhënash dyqane informacion në lidhje me sfond paraqitur në dy tabelat. Kjo oboi tabelë (muri) me fusha id (identifikues unik), të tipit (llojin e letër-muri -. Paper, vinyl, etj), ngjyra (me ngjyra), një struct (struktura) dhe çmimi (çmimi). Dhe tabela Ostatki (mbetjet) me fusha id_oboi (një referencë për identifikues unik në tabelën Oboi) dhe numërimin (numri i rrotullon në magazinë).

Plotësoni tabelën e të dhënave. Në tabelën shtoni fotografinë 9 të dhënat:

Oboi

id

lloj

ngjyrë

struct

çmim

1

letër

shumëngjyrësh

embossed

56.9

2

letër të dyfishtë-shtresa

bezh

butë

114,8

3

vinyl

portokall

embossed

504

4

qeth

bezh

embossed

1020,9

5

letër të dyfishtë-shtresa

bezh

butë

150.6

6

letër

shumëngjyrësh

butë

95.4

7

vinyl

bojë kafe

butë

372

8

qeth

e bardhë

embossed

980,1

9

leckë

rozë

butë

1166,5

Tabela me eshtrat - dhe nëntë të dhënat:

Ostatki

id_oboi

akuzë

1

8

2

12

3

24

4

9

5

16

6

7

7

24

8

32

9

11

Ne të vazhdojë në përshkrimin e rendit të veçantë në SQL.

Vendin dallueshme në Select pikën

Argumenti i veçantë duhet të vendoset menjëherë pas Zgjidh fjalen në pyetje. Ai aplikohet në të gjitha kolonat e përcaktuara në fjalinë Select, sepse ajo do të përjashtohet nga rezultati përfundimtar query është strings absolutisht identike. Kështu, një herë është e mjaftueshme për të specifikuar kur shkruani SQL «zgjedhur të veçantë» kërkesë. Përjashtim është përdorimi i funksioneve të ndryshme agregate brenda që duken në pak më vonë.

Ajo duhet të mbahet mend se shumica e të dhënave dhe nuk e njeh llojin tuaj të kërkesës:

SELECT Ostatki.Count të veçantë, Oboi dallueshme. *

NGA oboi

INNER JOIN Ostatki ON Oboi.id = Ostatki.id_oboi

Nuk u konsiderua argumenti disa herë ose herë të specifikuara, por para se të dytë, të tretë apo një tjetër kolonë e zgjedhur. Ju do të merrni një gabim duke iu referuar një gabim në sintaksë.

Aplikimi pyetje të dallueshme në standarde

Është e qartë se me tavolina duhura strukturës së ndërtesës dhe të plotësojë ato brenda një tavolinë të vetme përjashtohet situatën kur ka strings absolutisht identike. Prandaj, ekzekutimi query «Zgjidhni dallueshme *» me një mostër e një tabelë është jopraktike.

Konsideroni një situatë kur ne kemi nevojë të dimë se çfarë lloji ne kemi letër-muri, vetëm për lehtësi, për të zgjidhur sipas llojit:

SELECT Oboi.type

NGA mënyrë Oboi sipas llojit

Dhe për të marrë rezultatet:

lloj

letër

letër

letër të dyfishtë-shtresa

letër të dyfishtë-shtresa

vinyl

vinyl

leckë

qeth

qeth

Siç shihet në tabelë ka rreshta kopjuar. Në qoftë se ne shtoni propozimin Zgjidhni dallueshme:

SELECT Oboi.type të veçantë

NGA mënyrë Oboi sipas llojit

marrim rezultatin pa përsëritje:

lloj

letër

letër të dyfishtë-shtresa

vinyl

leckë

qeth

Kështu, në qoftë se duhet të shkruani të dhënat në një tabelë, pastaj menjëherë pas një telefonate apo kërkesës së blerësit ne mund të përgjigjem se muri të lëngshme, tekstil me fije qelqi dhe letër akrilik në dispozicion në dyqan nuk janë. Duke pasur parasysh se gama e dyqaneve zakonisht nuk është i kufizuar në njëqind sfond, të parë listën e llojeve jo-unik do të jetë mjaft e punës intensive.

Aplikimi i funksioneve të ndryshme agregate brenda

Argumenti SQL dallueshëm mund të përdoret me ndonjë funksion agregate. Por për Min dhe Max zbatimit të saj do të ketë efekt, por kur llogaritet shuma apo vlera mesatare është e rrallë një situatë ku askush nuk do të duhet të marrë parasysh repetitions.

Supozoni se ne duam të kontrolloni kapacitetin e depo tonë dhe për të dërguar këtë kërkesë, llogarit numri i përgjithshëm i mbështjellje në magazinë:

shuma SELECT (Ostatki.count)

NGA Ostatki

Kërkesa do të japë përgjigje 143. Nëse, megjithatë, ne do të ndryshojë në:

shuma SELECT (Ostatki.count dallueshme)

NGA Ostatki

ne marrim totale 119, si sfond për numrat pjesën 3 dhe 7 janë në magazinë në të njëjtën sasi. Megjithatë, është e qartë se përgjigja është e gabuar.

përdoret më shpesh në SQL funksion dallueshme Count. Pra, ne mund të gjeni lehtësisht se sa shumë lloje unike të letër-muri, ne kemi:

Numërimi SELECT (Oboi.type dallueshme)

NGA oboi

Dhe për të marrë rezultatin e 5 - letër të zakonshëm dhe double-layer vinyl dhe jo-pëlhurave të endura. Me siguri të gjithë e parë reklama të tilla si: "Vetëm ne kemi mbi 20 lloje të ndryshme të letër-muri", me të cilën është menduar se ky dyqan është jo vetëm një çift duzinë rrotullon dhe një shumëllojshmëri të llojeve muri moderne.

Është interesante se në të njëjtën pyetje, ju mund të specifikoni funksione të shumta si Count atribut të dallueshme, dhe pa atë. Kjo është situata vetëm ku të dallueshme në Select'e mund të jetë i pranishëm disa herë.

Kur të braktisin përdorimin e argumentit

Nga përdorimi i argumentit të veçantë SQL duhet të braktiset në një prej dy raste:

  1. Keni kryer një përzgjedhje të tabelave dhe jemi të bindur në vlerën unike secilin. Në këtë rast, përdorimi i argumentit është e papërshtatshme, sepse është një ngarkesë shtesë në server ose klient (në varësi të llojit të DBMS).
  2. A jeni i frikësuar e humbjes së të dhënave tuaja. Le të shpjegojmë.

Bosi Supozoj ju pyet tek lista sfond që ju keni, me tregues të vetëm dy kolona - llojin dhe ngjyrën. Për forcë zakoni, ju japin një argument të veçantë:

SELECT Oboi.type të veçantë, Oboi.color

NGA oboi

ORDER BY Oboi.type

Dhe - të humbni disa të dhëna:

lloj

ngjyrë

letër

shumëngjyrësh

letër të dyfishtë-shtresa

bezh

vinyl

bojë kafe

vinyl

portokall

leckë

rozë

qeth

bezh

qeth

e bardhë

Ajo mund të japë përshtypjen se letra muri (konvencionale dhe dual-layer) ne kemi vetëm një mendje, në fakt, edhe në tryezën tonë të vogël të dy nenit (rezultojë pa dallueshme):

lloj

ngjyrë

letër

shumëngjyrësh

letër

shumëngjyrësh

letër të dyfishtë-shtresa

bezh

letër të dyfishtë-shtresa

bezh

vinyl

bojë kafe

vinyl

portokall

leckë

rozë

qeth

e bardhë

qeth

bezh

Prandaj, ashtu si me shkrim çdo kërkesë me nevojën veçantë argumentit të jenë të kujdesshëm dhe kompetent për të vendosur për zbatimin e saj, në varësi të detyrës.

alternative të dallueshme

Në kundërshtim me argumentin veçantë - Të gjitha të argumentit. Në zbatim të tij rreshtat kopjuar janë të ruajtura. Por si bazën e të dhënave parazgjedhur dhe konstaton se është e nevojshme për të shfaqur të gjitha vlerat, argumenti gjitha - kjo është më tepër një kualifikueset se argumentit aktual funksion. Ne shpresojmë që ju tani e kuptojnë se e dallueshme (SQL) është përdorur. Përshkrimi t'ju japë informacion të plotë në lidhje me mundësinë e përdorur këtë argument në zgjidhjen e problemeve të ndryshme. Pas të gjitha, siç doli, edhe një argument të tillë të thjeshtë në zbatimin e tij fsheh mundësinë shumë të prekshme e humbjes disa të dhëna dhe të shfaqin informacion të pasaktë.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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