Mga kompyuter, Mga 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:
- 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).
- 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.
Similar articles
Trending Now