Komputiloj, Programado
Inter SQL: Ekzemploj Priskribo
Kiam laborante kun rilata datumbazo en kiu datumoj estas stokita en tablojn, uzantoj estas ofte alfrontita kun la tasko de muestreo valoroj inkludas (ne inkludita) en certa gamo. SQLa lingvo permesas difini plurajn, kiu devus (ne) apartenas al la valoro de malsamaj ebloj - operatoro En, Kiel operatoro, kombinaĵo de kondiĉoj pli - malpli, kaj ankaŭ SQL por Inter operatoro. Priskribo kaj ekzemploj en ĉi tiu artikolo enfokusigos sur la plej lasta versio.
"Inter" operatoro en SQL: Sintakso limigoj
Laŭvorte operatoro inter SQL kaj tradukitaj - "intere". Lia uzo ebligas fiksi limon "kaj de" aparta kampo, kaj se la sekvanta valoro falas ene de la intervalo, tiam la predikato estos metita al "Vera", kaj la valoro falos en la finan specimeno.
La sintakso de la operatoro estas ekstreme simpla:
Elektu * El tablon T1 Kie t1.n inter 0 kaj 7 |
Kiel vi povas vidi, post la ŝlosilvorton inter vi devas specifi la valoro de la pli malalta limo, do KAJ, kaj la supera limo.
Numeri, kiuj specoj de datumoj la operatoro povas labori inter SQL:
- Kun nombroj - entjeraj kaj frakciaj.
- Kun datoj.
- Kun tekston.
Ĉu tiu inter SQL aserto havas iujn proprecojn. Ni ekkoni ilin:
- Kiam laborante kun nombroj kaj datoj de limo valoroj "kaj de" estas inkluzivita en la specimeno.
- Pli malalta gamo valoro devas esti malpli ol la supra limo, alie ili ne estos montrata, ĉar la kondiĉo ne estas logike vera. Speciala zorgo devas esti, kiam, anstataŭ specifa valoroj en la kondiĉo variabloj estas inkluzivita.
Kiam laborante kun la teksto valoro de la supra gamo ne estas inkluzivita en la specimeno, se ĝi ne estas difinita tre precize. Ni konsideras tiun funkcion en la sekvaj sekcioj detale.
Specimenaj nombroj kaj datoj en certa intervalo
Preparu tablon kun la datumoj perantoj, laboranta en la organizo. La tablo havos la sekvan strukturon:
kampo nomon | datumtipo | priskribo |
kodo | counter | Unika oficisto ID |
familia nomo | teksto | Nomo de oficiro |
nomo | teksto | oficisto nomon |
patronomo | teksto | patronomo oficisto |
Paŭlo | teksto | Sekso dungitaro (M / F) |
Data_priema | Dato / Horo | Dato de ricevi la oficisto labori |
Chislo_detey | nombro | Nombro de infanoj ĉe la oficisto |
Enskribu la tablo de la sekvaj datumoj:
kodo | familia nomo | nomo | patronomo | Paŭlo | Data_priema | Chislo_detey |
1 | Aleksandrov | Irene | N. | F | 05/01/2014 | 1 |
2 | Borovoy | Andrew | S. | M | 09/21/2013 | 0 |
3 | Vinográdov | Sergei | Pavlovich | M | 15.06.1998 | 1 |
4 | Shumilin | Aleksandro | B. | M | 25.12.2004 | 2 |
5 | Vishnyakov | Leonid | A. | M | 09.10.2007 | 0 |
6 |
Tropnikov | Vasily | S. | M | 01/12/2016 | 3 |
7 | perloj | Nikita | V. | M | 01/11/2017 | 1 |
8 | Avdeeva | Nick | K. | F | 31.03.2001 | 2 |
9 | Yakovlev | Leonid | Nikolaevich | M | 16.02.2009 | 0 |
Formi la SQL query inter, kio helpos nin elekti ĉiuj oficistoj kiuj havas 2 aŭ 3 filoj:
ELEKTU Managers. * EL Manaĝeroj WHERE Menedzhery.Chislo_detey inter 2 kaj 3 |
La rezulto estos tri vicoj kun datumoj sur oficistoj kun familinomoj Shumilin, Tropnikov kaj Avdeeva.
Nun elekti la oficistoj ricevis de 1 januaro 2005 ĝis 31 decembro 2016. Estas notinde ke malsamaj datumbazoj en diversaj manieroj permesas registri laŭ datoj. Plejofte, la dato de forto al la formo tago-monato-jaro (aŭ pli konvena) kaj registrita en ununura aŭ duobla citaĵoj. La DBMS MS Access daton entenas la signon "#". Kuru tiu ekzemplo estas nur bazita sur ĝi:
ELEKTU Managers. * Menedzhery.Data_priema EL Manaĝeroj WHERE Managers. Data_priema por Inter # 1/1/2005 # Kaj # 31/12/2016 # |
La rezulto estos kvin dungitoj varbis dum la periodo inkluziva.
Sekva, ni vidu kiel ĝi funkcias inter SQLa kordoj.
Labori en inter kordoj
Tre ofta problemo kiu devas esti solvita kiam laborante kun la nomoj de oficistoj - estas la bezono por elekti nur tiuj kies nomoj komenci kun certa letero. Kaj ni provas ekzekuti la pridemando kaj elektu dungitoj kies nomoj komenci kun la familinomo de A al B:
ELEKTU Managers. * EL Manaĝeroj WHERE Menedzhery.Familiya inter "A" kaj "B" ORDO BY 2 |
La rezulto estas la jena:
kodo | familia nomo | nomo | patronomo | Paŭlo | Data_priema | Chislo_detey |
8 | Avdeeva | Nick | K. | F | 31.03.2001 | 2 |
1 | Aleksandrov | Irene | N. | F | 05/01/2014 | 1 |
2 | Borovoy | Andrew | S. | M | 09/21/2013 | 0 |
Ĝi kiel povas vidi, la du oficistoj kun la nomo de la litero B en la listo ne estis inkludita. Kio estas la kialo? La fakto estas precize kiel la operatoro komparas kordoj de neegalaj longeco. Linio "B" estas pli mallonga kordo "Vinográdov" kaj vatitaj. Sed kiam ordiga alfabete spacoj estos pli rapida karakteroj, kaj la nomo de la specimeno ne falu. Malsamaj datumbazoj provizi malsamajn vojojn por solvi tiun problemon, sed estas ofte la plej facila maniero por indiki la fidindeco de la sekva litero de la alfabeto en la gamo:
ELEKTU Managers. * EL Manaĝeroj WHERE Menedzhery.Familiya inter "A" kaj "D" ORDO BY 2 |
Kiam ekzekutita, la pridemando rezulto kontentigos nin tute.
Ĉi nuancon ekzistas nur kiam laboranta kun karaktero datumoj, sed ĝi montras, ke eĉ kiam laboranta kun tia simpla operatoroj kiel inter, vi devas esti zorgema.
Similar articles
Trending Now