Mga computerMga uri ng file

SQL natatanging: paglalarawan, mga halimbawa, mga ari-arian

Madalas kapag gumamit ka ng SQL upang makuha ang data mula sa talahanayan, ang user ay makakatanggap ng kalabisan ng data ay ang pagkakaroon ng isang ganap na walang magkapareho dobleng mga hilera. Upang maiwasan ang situasyon na ito, gamitin ang SQL natatanging argument sa pangungusap ang Piliin. Ang artikulong ito ay talakayin ang mga halimbawa ng paggamit ng mga ito argument, pati na rin ang mga sitwasyon kung saan ang application ay dapat na ang inabandunang sa pamamagitan ng mga argumento.

Bago magpatuloy namin upang isaalang-alang ang mga tiyak na mga halimbawa, lumikha ng database kinakailangan ng ilang mga talahanayan.

paghahanda ng talahanayan

Isipin na kami ay may isang database tindahan ng impormasyon tungkol sa wallpaper iniharap sa dalawang mga talahanayan. Ang talahanayan Oboi (wallpaper) na may mga patlang id (natatanging identifier), ang uri (uri ng wallpaper. - Paper, vinyl, atbp), kulay (kulay), isang struct (istraktura) at ang presyo (presyo). At table Ostatki (residues) na may id_oboi field (isang reference sa natatanging identifier sa talahanayan Oboi) at count (ang bilang ng roll sa stock).

Punan ang talahanayan ng data. Sa talahanayan idagdag ang wallpaper 9 tala:

Oboi

ID

uri

kulay

struct

presyo

1

papel

maraming kulay

alsado

56.9

2

papel double-layered

murang kayumanggi

makinis

114.8

3

vinyl

kahel

alsado

504

4

balahibo ng tupa

murang kayumanggi

alsado

1020.9

5

papel double-layered

murang kayumanggi

makinis

150.6

6

papel

maraming kulay

makinis

95.4

7

vinyl

kayumanggi

makinis

372

8

balahibo ng tupa

puti

alsado

980.1

9

tela

kulay-rosas

makinis

1166.5

Ang talahanayan na may ang labi - at siyam na mga talaan:

Ostatki

id_oboi

bilangin

1

8

2

12

3

24

4

9

5

16

6

7

7

24

8

32

9

11

tumuloy kami sa mga paglalarawan ng mga natatanging mga order sa SQL.

Lugar natatanging sa Pumili ng sugnay

natatanging mga argument ay dapat na ilagay kaagad pagkatapos ng Pumili ng mga keyword sa query. Siya inilapat sa lahat ng mga haligi na tinukoy sa ang pangungusap Pumili, dahil ito ay ibinukod mula sa huling query resulta ay ganap na magkapareho string. Kaya, isang beses ay sapat na upang tukuyin kapag sumusulat SQL «piliin ang naiiba» kahilingan. Ang exception ay ang paggamit ng mga natatanging loob function pinagsama-samang na tumingin sa isang maliit na mamaya.

Dapat ito ay remembered na ang karamihan ng mga database at ay hindi makilala ang iyong mga uri ng mga kahilingan:

PUMILI natatanging Ostatki.Count, natatanging Oboi. *

MULA Oboi

Inner SUMALI Ostatki ON Oboi.id = Ostatki.id_oboi

May ay hindi itinuturing na argument ng ilang beses o isang beses na tinukoy, ngunit bago ang ikalawa, ikatlo o iba pang napiling haligi. Makakatanggap ka ng isang error nagre-refer sa isang error sa syntax.

Application natatanging query sa standard

Ito ay kitang-kita na may tamang building mesa istraktura at pagpuno ng mga ito sa loob ng iisang mesa ibinukod ang sitwasyon kapag may mga ganap na magkapareho string. Samakatuwid, ang query sa pagpapatupad «Piliin natatanging *» na may isang sample ng isang talahanayan ay hindi maisasagawa.

Isaalang-alang ang isang sitwasyon kapag kailangan naming malaman kung anong uri mayroon kaming wallpaper, para lamang sa kaginhawaan, upang pagbukud-bukurin ayon sa uri:

SELECT Oboi.type

MULA Oboi pagkakasunod-sunod sa pamamagitan ng uri

At makuha ang mga resulta:

uri

papel

papel

papel double-layered

papel double-layered

vinyl

vinyl

tela

balahibo ng tupa

balahibo ng tupa

Tulad ng nakikita sa talahanayan may mga dobleng mga hilera. Kung idagdag namin ang panukala Piliin natatanging:

PUMILI natatanging Oboi.type

MULA Oboi pagkakasunod-sunod sa pamamagitan ng uri

makuha namin ang resulta walang pag-uulit:

uri

papel

papel double-layered

vinyl

tela

balahibo ng tupa

Kaya, kung maayos na ipasok ang data sa isang table, pagkatapos ay agad na pagkatapos ng isang tawag sa telepono o kahilingan ng mga mamimili namin masasagot na ang likidong wallpaper, payberglas at acrylic wallpaper na magagamit sa tindahan ay hindi. Given na ang hanay ng mga tindahan ay karaniwang hindi limitado sa isang daang wallpaper, tingnan ang listahan ng mga di-natatanging mga uri ay magiging masyadong matrabaho.

Ang paglalapat ng natatanging mga pinagsama-samang mga pag-andar sa loob ng

SQL natatanging mga argument ay maaaring magamit sa anumang mga pinagsama-samang mga function. Ngunit para sa Min at Max application nito ay walang epekto, ngunit kapag kinakalkula ang kabuuan o ang average na halaga ay bihira isang sitwasyon kung saan walang isa ay kailangang isaalang-alang ang repetitions.

Ipagpalagay na gusto naming suriin ang kakayahan ng aming warehouse at upang magpadala ng mga kahilingang ito, computes ang kabuuang bilang ng mga coils sa stock:

PUMILI sum (Ostatki.count)

MULA Ostatki

Request ay magbibigay ang sagot 143. Kung, gayunpaman, kami ay lumipat sa:

PUMILI sum (natatanging Ostatki.count)

MULA Ostatki

makuha namin ang kabuuang 119, pati na wallpaper para sa mga numero ng part 3 at 7 ay sa stock sa parehong halaga. Gayunpaman, ito ay malinaw na ang sagot ay mali.

Karamihan sa mga madalas na ginagamit sa SQL natatanging mga pag-andar Count. Kaya, maaari naming madaling malaman kung gaano karaming mga natatanging mga uri ng wallpaper, tayong:

PUMILI count (hiwalay Oboi.type)

MULA Oboi

At makuha ang resulta ng 5 - ordinaryong papel at double-layer vinyl at di-habi tela. Tiyak na ang lahat nakita ang mga advertisement tulad ng: "Tanging kami ay may higit sa 20 iba't ibang mga uri ng mga wallpaper," kung saan ay nilalayong na ang shop ay hindi lamang ng ilang dosenang roll at isang iba't ibang mga wallpaper modernong uri.

Ito ay kagiliw-giliw na sa parehong query, maaari mong tukuyin ang maramihang mga pag-andar tulad ng Count ipatungkol DISTINCT, at nang wala ito. Iyon ay ang tanging sitwasyon kung saan naiiba sa Select'e maipapakita ilang beses.

Kapag abandunahin ang paggamit ng mga argument

Mula sa paggamit ng SQL natatanging mga argument ay dapat na ang inabandunang sa isa sa dalawang mga kaso:

  1. Nagsagawa ka ng isang seleksyon ng mga talahanayan at natitiyak sa natatanging halaga sa bawat isa. Sa kasong ito, ang paggamit ng mga argumento ay hindi naaangkop, dahil ito ay isang karagdagang load sa server o client (depende sa uri ng DBMS).
  2. Sigurado ka natatakot ng pagkawala ng iyong data. Ipaalam sa amin ipaliwanag.

Ipagpalagay boss humihiling sa iyo upang ilista ang mga wallpaper na mayroon ka, na may mga pahiwatig ng lamang ng dalawang mga haligi - ang uri at kulay. Mula sa ugali, bigyan ka ng isang argument natatanging:

PUMILI natatanging Oboi.type, Oboi.color

MULA Oboi

ORDER BY Oboi.type

At - mawala ang ilang data:

uri

kulay

papel

maraming kulay

papel double-layered

murang kayumanggi

vinyl

kayumanggi

vinyl

kahel

tela

kulay-rosas

balahibo ng tupa

murang kayumanggi

balahibo ng tupa

puti

Ito ay maaaring magbigay ng impresyon na ang papel wallpaper (maginoo at dalawahan-layer) kami ay lamang ng isang pag-iisip, sa katunayan, kahit na sa aming maliit na talahanayan ng dalawang artikulo (magresulta walang natatanging):

uri

kulay

papel

maraming kulay

papel

maraming kulay

papel double-layered

murang kayumanggi

papel double-layered

murang kayumanggi

vinyl

kayumanggi

vinyl

kahel

tela

kulay-rosas

balahibo ng tupa

puti

balahibo ng tupa

murang kayumanggi

Samakatuwid, gaya ng sa pamamagitan ng sulat ang anumang kahilingan sa argument natatanging mga pangangailangan upang maging maingat at karampatang upang magpasya sa application nito, depende sa gawain.

alternatibong natatanging

Salungat sa ang argument natatanging - Lahat ng mga argumento. Sa application nito dobleng mga hilera ay naka-imbak. Ngunit bilang ang default na database at hahanap na ito ay kinakailangan upang ipakita ang lahat ng mga halaga, ang argument Lahat - ito ay sa halip ng isang qualifier kaysa sa aktwal na pag-andar argument. Umaasa kami na nauunawaan mo na ngayon na ang mga natatanging (SQL) ay ginagamit. Paglalarawan magbibigay sa iyo ng buong impormasyon tungkol sa pagiging posible ng paggamit ng argument sa paglutas ng iba't-ibang mga problema. Pagkatapos ng lahat, bilang naka-out, kahit na tulad ng isang simpleng argument sa kanyang application Itinatago napaka-nasasalat posibilidad ng pagkawala ng ilang mga data at ipakita ang tumpak na impormasyon.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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