Mga kompyuterMga Type sa File

Kahibaw-an sa SQL: paghulagway, mga pananglitan, kabtangan

Kasagaran, sa dihang gamiton ang SQL aron makuha ang kasayuran gikan sa mga lamesa, ang tigdawat makadawat og kalabutan nga datos, nga naglangkob sa hingpit nga magkaparehas nga mga linya. Aron dili maapil niini nga sitwasyon, gamita ang klarong argumento sa SQL sa Select clause. Sa sini nga artikulo, binagbinagon naton ang mga halimbawa sa paggamit sini nga argumento, kag mga sitwasyon nga mas maayo nga biyaan ang argumento.

Sa dili pa kita magsugod sa pagkonsiderar sa piho nga mga panig-ingnan, kita maghimo ug duha ka kinahanglan nga mga lamesa sa database.

Pag-andam sa mga lamesa

Hunahunaa nga kita adunay sa database nga gitipigan nga impormasyon mahitungod sa wallpaper, gipresentar sa duha ka mga lamesa. Kini ang lamesa sa Oboi (wallpaper) nga adunay mga id nga field (talagsaong identifier), type (klase nga wallpaper - papel, vinyl, ug uban pa), kolor, struct ug presyo. Ug ang Ostatki nga lamesa (mga salin) uban sa mga kaumahan id_oboi (paghisgot sa talagsaong identifier sa lamesa sa Oboi) ug pag-ihap (ang gidaghanon sa mga rolyo sa bodega).

Pun-a ang mga lamesa nga dunay mga datos. Diha sa lamesa nga dala sa wallpaper atong idugang ang 9 ka mga entry:

Oboi

Id

Type

Kolor

Pagtukod

Presyo

1

Papel

Lainlaig kolor

Gipahayag

56.9

2

Dobleng layer nga papel

Beige

Maayo

114.8

3

Vinyl

Orange

Gipahayag

504

4

Dili hinabol nga mga panapton

Beige

Gipahayag

1020.9

5

Dobleng layer nga papel

Beige

Maayo

150.6

6th

Papel

Lainlaig kolor

Maayo

95.4

7th

Vinyl

Brown

Maayo

372

8th

Dili hinabol nga mga panapton

White

Gipahayag

980.1

9th

Panapton

Pink

Maayo

1166.5

Diha sa lamesa uban sa mga nahibilin adunay siyam ka mga rekord:

Ostatki

Id_oboi

Hinumdomi

1

8th

2

12

3

24

4

9th

5

Ika-16

6th

7th

7th

24

8th

32

9th

11th

Atong sugdan pinaagi sa paghulagway kung unsaon paggamit nga managlahi sa SQL.

Ibutang lahi sa Select clause

Ang lahi nga argumento kinahanglan ibutang dayon human sa Select keyword sa mga pangutana. Gipadapat kini diha-diha dayon sa tanan nga mga kolum nga gipasabut sa Select clause tungod kay kini dili maglakip sa hingpit nga managsama nga mga linya gikan sa resulta sa pangutana. Busa, igo na nga isulti ang "pagpili nga lahi" sa pagsulat sa SQL query. Ang bugtong eksepsiyon mao ang paggamit sa lahi sulod sa kinatibuk-ang mga pag-obra, nga pagaisipon nga usa ka gamay nga ulahi.

Kinahanglan nga hinumdoman nga kadaghanan sa DBMS wala makaila sa imong hangyo nga sama niini:

PILI nga talagsaon nga Ostatki.Count, lahi nga Oboi. *

GIKAN sa Oboi

INNER JOIN Ostatki ON Oboi.id = Ostatki.id_oboi

Dinhi, ang argumento gipahayag sa makadaghan nga mga higayon o gitino sa makausa, apan sa wala pa ang ikaduha, ikatulo o uban nga kolumnang napili. Ikaw makadawat og kasaypanan uban ang usa ka pakisayran sa mga dili tukma sa syntax.

Paggamit sa lahi sa mga sumbanan nga pangutana

Kini klaro nga sa tukma nga pagtukod sa istruktura sa mga lamesa ug sa ilang pagpuno, sulod sa sama nga mga sitwasyon sa lamesa wala iapil sa diha nga ang mga hingpit nga managsama nga mga hilo ang nasugatan. Busa, ang pagpatuman sa "Select distinct *" nga pangutana uban ang pagpili gikan sa usa ka lamesa dili praktikal.

Hunahunaa ang usa ka sitwasyon diin kinahanglan naton nga mahibal-an kung unsa nga matang sa wallpaper nga anaa kanato, alang lamang sa kasayon, paghan-ay sumala sa tipo:

PILI ang Oboi.type

GIKAN sa klase sa Oboi

Ug atong makuha ang resulta:

Type

Papel

Papel

Dobleng layer nga papel

Dobleng layer nga papel

Vinyl

Vinyl

Panapton

Dili hinabol nga mga panapton

Dili hinabol nga mga panapton

Ingon sa imong makita, adunay mga duplicate nga linya sa lamesa. Kon kita modugang sa Select distinct clause:

PILI nga lahi nga Oboi.type

GIKAN sa klase sa Oboi

Dayon atong makuha ang resulta nga wala'y pagsubli:

Type

Papel

Dobleng layer nga papel

Vinyl

Panapton

Dili hinabol nga mga panapton

Busa, kon ang datos husto nga gisudlan sa mga lamesa, dayon dayon human sa tawag o sa hangyo sa mga pumapalit kita makahimo sa pagtubag nga walay mga liquid nga mga wallpaper, bilding nga salog ug acrylic wallpaper sa tindahan. Tungod kay ang mga klase sa mga tindahan sa kasagaran dili limitado sa usa ka gatus ka mga wallpaper, kini nga pag-ayo sa pagtrabaho sa pagtan-aw sa mga listahan sa mga dili-talagsaon nga mga matang.

Gigamit ang lahi sulod sa kinatibuk-ang gimbuhaton

Ang lahi sa SQL mahimong gamiton sa bisan unsang aggregate function. Apan alang kang Min ug Max, ang paggamit niini walay epekto, ug kon gikalkula ang kantidad o kasagaran nga bili, panagsa ra nga mahanduraw ang usa ka sitwasyon diin dili kinahanglan nga tagdon ang mga pagsubli.

Ingnon ta nga gusto naton nga mahibal-an kon unsa ka daghan ang atong bodega nga puno, ug tungod niini kita nagpadala og usa ka hangyo nga nagkalkula sa total nga gidaghanon sa mga rolyo sa bodega:

PUMILI nga sum (Ostatki.count)

GIKAN sa Ostatki

Ang pangutana mobalik usa ka tubag 143. Kon kita mag-usab ngadto sa:

PILI ang sum (nagkalain-lain nga Ostatki.count)

GIKAN sa Ostatki

Dayon magkuha lang kami og 119, tungod kay ang papel sa ubos sa mga artikulo 3 ug 7 anaa sa stock sa samang gidaghanon. Bisan pa, klaro nga kining tubag dili sakto.

Kasagaran, ang SQL gigamit sa Count function. Busa, nga wala'y kalisud, mahibal-an nato kung pila ka talagsaon nga mga tipo sa mga wallpaper nga sa kasagaran adunay:

PUMILI nga ihap (lahi nga Oboi.type)

GIKAN sa Oboi

Ug makuha ang resulta 5 - ordinaryong papel ug duha ka layer, vinyl, panapton ug dili hinabol. Tino nga ang tanan nakakita sa usa ka advertisement nga sama sa: "Lamang kita adunay labaw pa kay sa 20 ka mga matang sa lain-laing mga wallpaper!", Nga pinaagi niini kini nagpasabut nga sa niini nga tindahan wala sa usa ka magtiayon nga dosena nga mga rolyo sa tanan nga butang, apan wallpaper sa labing nagkalainlain nga moderno nga mga matang.

Makapainteres, sa usa ka hangyo, mahimo nimong hisgutan ang pipila ka mga gimbuhaton Pag-ihap uban o wala ang hiyas. Nga mao, kini ang bugtong sitwasyon diin ang managlahi sa Pagpili mahimo nga sa pipila ka mga higayon.

Kanus-a ko isalikway ang paggamit sa argumento

Ang paggamit sa SQL lahi nga argumento kinahanglan ilabay sa usa sa duha ka mga paagi:

  1. Gipili nimo gikan sa mga lamesa ug sigurado sa pagkatalagsaon sa mga mithi sa matag usa. Sa kini nga kaso, ang paggamit sa argumento dili angay, tungod kay kini usa ka dugang nga load sa server o kliyente (depende sa matang sa DBMS).
  2. Nahadlok ka nga mawala ang gikinahanglan nga datos. Atong ipasabut.

Pananglit ang boss mangutana kanimo sa pagpakita sa usa ka listahan sa mga wallpaper nga imong aduna, nga adunay duha lamang ka kolum - tipo ug kolor. Pinaagi sa kinaiya, imong gihisgotan ang lahi nga argumento:

PILI ang lahi nga Oboi.type, Oboi.color

GIKAN sa Oboi

ORDER BY Oboi.type

Ug - nawala ang imong datos:

Type

Kolor

Papel

Lainlaig kolor

Dobleng layer nga papel

Beige

Vinyl

Brown

Vinyl

Orange

Panapton

Pink

Dili hinabol nga mga panapton

Beige

Dili hinabol nga mga panapton

White

Kini usa lamang ka matang sa papel nga papel (conventional ug two-layered), bisan gani sa atong gamay nga lamesa adunay duha ka mga artikulo (ang resulta nga walay lahi):

Type

Kolor

Papel

Lainlaig kolor

Papel

Lainlaig kolor

Dobleng layer nga papel

Beige

Dobleng layer nga papel

Beige

Vinyl

Brown

Vinyl

Orange

Panapton

Pink

Dili hinabol nga mga panapton

White

Dili hinabol nga mga panapton

Beige

Busa, sama sa bisan unsa nga pangutana, uban sa lahi nga panaglalis ang usa kinahanglan nga mag-amping ug husto nga makasulbad sa problema uban sa paggamit niini depende sa buluhaton.

Lain nga managlahi

Ang kaatbang sa lahi nga argumento mao ang All argument. Kung imo kining gamiton, ang mga duplicate nga mga linya maluwas. Apan sanglit ang default, ang DBMS naghunahuna nga gikinahanglan nga i-print ang tanan nga mga hiyas, ang All argument labaw pa sa usa ka espesipiko kay sa usa ka tinuod nga functional nga argumento. Kami nanghinaut nga masabtan nimo karon kung ang mga lahi (SQL) gigamit. Ang paghulagway naghatag kanimo sa kompleto nga kasayuran mahitungod sa maalamon nga paggamit niini nga argumento sa pagsulbad sa nagkalain-laing mga problema. Human sa tanan, ingon sa nahitabo, bisan ang ingon nga yanong argumento sa iyang aplikasyon nagatago sa usa ka hinungdan nga kalagmitan sa pagkawala sa pipila ka mga datos ug nasabtan ang tukma nga kasayuran.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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