Amakhompyutha, Izinhlobo zamafayela
SQL ezihlukene: incazelo, izibonelo, izakhiwo
Ngokuvamile uma usebenzisa SQL ukubuyisa idatha kusukela kumathebula, umsebenzisi ithola idatha eziphindaphindekayo kuyinto khona i imigqa ngokuphelele ezifanayo impinda. Ukuze ugweme lesi simo, sebenzisa SQL agumenti letihlukile umusho Khetha. Lesi sihloko sizodingida izibonelo ukusetshenziswa kwalesi agumenti, kanye nezimo lapho isicelo kufanele washiywa-agumenti.
Ngaphambi kokuthi uqhubekele sicabangele izibonelo ezithile, ukudala database edingekayo ambalwa amatafula.
ithebula ukulungiselela
Cabanga ukuthi sinesimo Imininingwane egciniwe ezitolo mayelana lodonga okwethulwa amatafula amabili. Lokhu oboi ithebula (lodonga) nezinkundla zomazisi (esehlukile), uhlobo (uhlobo lodonga -. Paper, vinyl, njll), umbala (umbala), a struct (isakhiwo) kanye intengo (intengo). Futhi ithebula Ostatki (izinsalela) nge id_oboi Amasimu (kutjhiwo esehlukile ethebuleni Oboi) nekubala (inani imiqulu in isitokwe).
Gcwalisa ithebula ledatha. Ethebuleni engeza lodonga 9 amarekhodi:
Oboi | ||||
i-id | uhlobo | umbala | struct | intengo |
1 | iphepha | multicolor | embossed | 56,9 |
2 | iphepha kabili egqinsiwe | beige | bushelelezi | 114,8 |
3 | vinyl | Orange | embossed | 504 |
4 | uboya | beige | embossed | 1020,9 |
5 | iphepha kabili egqinsiwe | beige | bushelelezi | 150,6 |
6 | iphepha | multicolor | bushelelezi | 95,4 |
7 | vinyl | esinsundu | bushelelezi | 372 |
8 | uboya | emhlophe | embossed | 980,1 |
9 | indwangu | pink | bushelelezi | 1166,5 |
Ithebula izinsalela - namarekhodi eziyisishiyagalolunye:
Ostatki | |
id_oboi | ukubala |
1 | 8 |
2 | 12 |
3 | 24 |
4 | 9 |
5 | 16 |
6 | 7 |
7 | 24 |
8 | 32 |
9 | 11 |
Thina uqhubekele incazelo oda ahlukile SQL.
Beka letihlukile Khetha isigatshana
agumenti abahlukene kufanele ibekwe ngokushesha ngemva Khetha elisemqoka imibuzo. Wasebenzisa zonke amakholomu ecacisiwe emshweni Khetha, ngoba azokhishwa lokugcina nombuzo yi kuyinto amayunithi wezinhlamvu ngokuphelele ezifanayo. Ngakho, once kwanele ukuba ucacise lapho ebhalela SQL «ukhetha abahlukene» Isicelo. Ukukhethwa ukusetshenziswa abahlukene ngaphakathi aggregate imisebenzi ukuthi sibheke esikhathini esingengakanani kamuva.
Kufanele kukhunjulwe ukuthi iningi database ayiboni uhlobo kwakho isicelo:
KHETHA Ostatki.Count abahlukene, Oboi ahlukile. * KUSUKELA oboi INKABA JOYINA Ostatki KU Oboi.id = Ostatki.id_oboi |
Kwakukhona njengenkulumo agumenti izikhathi eziningana noma kanye esibekiwe, kodwa ngaphambi wesibili, wesithathu nofana enye ikholomu ekhethiwe. Uzothola nephutha ebhekisela iphutha lohlelo lolimi elingaziwa.
Isicelo imibuzo ahlukile ejwayelekile
Kusobala ukuthi nge efanele yokwakha isakhiwo kumathebula wazigcwalisa ngaphakathi itafula olulodwa ayifakiwe isimo lapho kukhona iyunithi yezinhlamvu ngokuphelele ezifanayo. Ngakho-ke, ukukhishwa nombuzo «Khetha abahlukene *» ne isampula ithebula umuntu engeke asebenze.
Cabangela lesi simo lapho sidinga ukwazi ukuthi hlobo esinalo iphepha lokunamathisela odongeni, nje ukuze kube lula, ukuhlunga lwemsebenti:
KHETHA Oboi.type KUSUKELA Oboi oda ngohlobo |
Futhi uthole imiphumela:
uhlobo |
iphepha |
iphepha |
iphepha kabili egqinsiwe |
iphepha kabili egqinsiwe |
vinyl |
vinyl |
indwangu |
uboya |
uboya |
Njengoba kubonakala ethebuleni zikhona imigqa impinda. Uma sifaka isiphakamiso Khetha ezihlukene:
KHETHA Oboi.type abahlukene KUSUKELA Oboi oda ngohlobo |
sithola yi ngaphandle ukuphindaphinda:
uhlobo |
iphepha |
iphepha kabili egqinsiwe |
vinyl |
indwangu |
uboya |
Ngakho, uma ufaka kahle idatha ku etafuleni, bese ngokushesha emva ucingo noma ngesicelo abathengi singaphendula ukuthi ketshezi iphepha lokunamathisela odongeni, fiberglass futhi lodonga acrylic etholakala esitolo akuzona. Njengoba sazi ukuthi uhla ezitolo ngokuvamile akunqunyelwe eziyikhulu iphepha lokunamathisela odongeni, ukubuka uhlu lwezinhlobo non-esiyingqayizivele kungaba ngempela okhandlayo.
Isicelo abahlukene imisebenzi aggregate ngaphakathi
agumenti SQL abahlukene ingasetshenziswa nanoma iyiphi umsebenzi sesisonke. Kodwa ngenxa min kanye noMax isicelo yayo ngeke kube umphumela, kodwa lapho kubalwa nesamba noma inani eliyisilinganiso kuyaqabukela esimweni lapho akekho owayezobhekwa kufanele acabangele ezinikezwa.
Ake sithi sifuna ukuhlola umthamo of agcine yethu futhi ukuthumela lesi sicelo, ubalisisa lonke inani ohlobo in isitokwe:
isamba KHETHA (Ostatki.count) KUSUKELA Ostatki |
Isicelo uzokunika impendulo Nokho, 143. Uma, sizoshintsha ukuze:
isamba KHETHA (Ostatki.count abahlukene) KUSUKELA Ostatki |
Sikuthola ingqikithi 119, njengephepha lodonga i-okuyingxenye izinombolo 3 no-7 ku-stock esilinganayo. Nokho, kusobala ukuthi impendulo akulungile.
Ngokuvamile esetshenziswa SQL umsebenzi abahlukene Ukubala. Ngakho, singakwazi kalula ukuthola izinhlobo eziningi kanjani eyingqayizivele iphepha lokunamathisela odongeni, esinayo:
ukubala KHETHA (Oboi.type abahlukene) KUSUKELA oboi |
Futhi uthole umphumela 5 - iphepha abavamile futhi kabili ungqimba vinyl kanti Indwangu okungezona nokwelukiweyo. Ngokuqinisekile, wonke umbonile izikhangiso ezifana: "thina kuphela nezinhlobo ezihlukene angaphezu kwangu-20 iphepha lokunamathisela odongeni," by okuyinto kwakusho ukuthi lokhu esitolo imiqulu hhayi nje abambalwa mbhangqwana futhi ezihlukahlukene lodonga izinhlobo yesimanje.
Kuyathakazelisa ukuthi umbuzo ofanayo, ungacacisa ukufeza imisebenzi ehlukahlukene efana Ukubala attribute egqamile, futhi ngaphandle kwalo. Lokho isimo kuphela lapho ahlukile Select'e kungaba khona izikhathi eziningana.
Lapho ukulahla ukusetshenziswa i-agumenti
Kusukela ukusetshenziswa SQL agumenti abahlukene kufanele ishiywe omunye izimo ezimbili:
- Wena enze ukukhethwa amatafula futhi uqiniseka enanini eyingqayizivele ngamunye. Kulokhu, ukusetshenziswa i-agumenti okungalungile, ngoba kuyinto umthwalo eyengeziwe on the server noma ikhasimende (kuye ngokuthi uhlobo DBMS).
- Ingabe besaba ukuphelelwa idatha yakho. Ake uchaze.
Ake sithi ubasi akucele ukuthi uhlu sangemuva ukuthi une, nge inkomba amakholomu amabili kuphela - uhlobo nombala. Out of umkhuba, unikeza nengxabano ezihlukene:
KHETHA Oboi.type abahlukene, Oboi.color KUSUKELA oboi ORDER BY Oboi.type |
Futhi - ulahlekelwe ngeminye imininingwane:
uhlobo | umbala |
iphepha | multicolor |
iphepha kabili egqinsiwe | beige |
vinyl | esinsundu |
vinyl | Orange |
indwangu | pink |
uboya | beige |
uboya | emhlophe |
Kungase futhi kunikeze umuzwa wokuthi sangemuva iphepha (ezivamile kanye ezimbili-ungqimba) siye ingqondo eyodwa kuphela, eqinisweni, ngisho etafuleni lethu elincane sihloko ezimbili (umphumela ngaphandle abahlukene):
uhlobo | umbala |
iphepha | multicolor |
iphepha | multicolor |
iphepha kabili egqinsiwe | beige |
iphepha kabili egqinsiwe | beige |
vinyl | esinsundu |
vinyl | Orange |
indwangu | pink |
uboya | emhlophe |
uboya | beige |
Ngakho-ke, njengoba ngokubhala noma yisiphi isicelo nge-agumenti isidingo abahlukene uqaphe futhi abanekhono ukunquma ndaba esebenza ngayo, kuye ngokuthi umsebenzi.
okunye elikhethiwe
Ngokuphambene agumenti abahlukene - Zonke agumenti. Ngo isicelo yayo imigqa impinda zigcinwa. Kodwa njengoba database ezenzakalelayo futhi ithola ukuthi kubalulekile ukubonisa yonke amagugu, i-agumenti Zonke - kuba kunalokho a bezobhekana ngaphandle langempela umsebenzi agumenti.
Similar articles
Trending Now