Kompjûters, Programming
Tusken SQL: Foarbylden Beskriuwing
Wannear't wurkje mei in relational databank dêr't gegevens wurdt opslein yn tabellen, brûkers wurde faak konfrontearre mei de taak fan sampling wearden ynbegrepen (net ynbegrepen) yn in beskaat berik. SQL taal kinne jo beskiede meardere, dy't moatte (moat net) hearre ta de wearde fan de ferskate opsjes - operator Yn, Like operator, in kombinaasje fan betingsten mear - minder, lykas ek SQL foar Tusken operator. Beskriuwing en foarbylden yn dit artikel sil rjochtsje op de nijste ferzje.
"Tusken" operator yn SQL: Syntax beheinings
Letterlik operator tusken SQL en oerset - "tusken". Syn gebrûk makket it mooglik om in limyt "en fan" in bepaalde fjild, en as it folgjende wearde falt binnen it berik, dan it predikaat wurdt ynsteld op "Wier", en de wearde sil falle yn de finale stekproef.
De syntaksis fan it operator is tige simpel:
Selektearje * Ut tabel T1 Wêr t1.n tusken 0 en 7 |
Sa't jo sjen kinne, nei it stekwurd tusken jo moatte de wearde fan 'e legere limyt, dan EN, en de boppeste limyt.
Enumerate, wat soarten fan gegevens de operator kin wurkje tusken SQL:
- Mei nûmers - lizzende hiele getal en fraksjonele.
- With dates.
- Mei tekst.
Doch dit tusken SQL ferklearring hat bepaalde eigenaardichheden. Wy krije it witte se:
- Wannear't wurkje mei sifers en datums fan limyt wearden "en fan" binne opnaam yn de stekproef.
- Legere berik wearde moat koarter wêze as it boppeste limyt, oars neat sil wurde werjûn, omdat de steat is net logysk wier. Spesjale soarch nedich te wêzen, doe't, ynstee fan spesifike wearden yn 'e steat fariabelen opnommen binne.
Wannear't it wurk mei de tekst wearde fan 'e boppeste berik is net opnommen yn' e stekproef, as it is net defined hiel sekuer. Wy beskôgje dizze funksje yn 'e neikommende paragrafen yn detail.
Sample getallen en data yn in bepaald berik
Meitsje in tafel mei de gegevens behearders, wurkjen yn 'e organisaasje. De tafel sil hawwe de folgjende struktuer:
fjildnamme | data type | beskriuwing |
koade | counter | Unique wurknimmer ID |
surname | tekst | Namme fan de offisier |
namme | tekst | wurknimmer namme |
patronym | tekst | patronym wurknimmer |
paul | tekst | Sex personiel (M / F) |
Data_priema | Datum / Tiid | Datum fan ûntfangst fan de wurknimmer oan it wurk |
Chislo_detey | number | Tal bern op de wurknimmer |
Folje de tafel troch de folgjende gegevens:
koade | surname | namme | patronym | paul | Data_priema | Chislo_detey |
1 | Alexandrov | irene | N. | F | 05/01/2014 | 1 |
2 | Borovoy | andrew | S. | M | 09/21/2013 | 0 |
3 | Winogradow | Sergei | Pavlovich | M | 15.06.1998 | 1 |
4 | Shumilin | alexander | 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 | pearels | nikita | V. | M | 01/11/2017 | 1 |
8 | Avdeeva | nick | K. | F | 31.03.2001 | 2 |
9 | Yakovlev | Leonid | Nikolajevitsj | M | 16.02.2009 | 0 |
Foarmje de SQL query tusken, dat sil helpe ús om te selektearjen alle meiwurkers dy't hawwe 2 of 3 bern:
SELECT Managers. * FROM Behearders WHERE Menedzhery.Chislo_detey tusken 2 en 3 |
It resultaat sil trije rigen mei gegevens op meiwurkers mei Surnames Shumilin, Tropnikov en Avdeeva.
No selektearje de meiwurkers krigen fan 1 jannewaris 2005 oant 31 desimber 2016. Dêrby moat opmurken wurde dat ferskate databases op ferskillende manieren tastean jo op te nimmen op it mêd fan datums. Yn de measte gefallen, de datum fan in krêft oan de foarm deis-moanne-jier (of mear handiger) en opnommen yn ien of dûbele quotes. De DBMS MS Access datum teffens de teken "#". Run dit foarbyld is krekt basearre op it:
SELECT Managers. * Menedzhery.Data_priema FROM Behearders WHERE Managers. Data_priema foar Tusken # 1/1/2005 # En # 31/12/2016 # |
It resultaat sil fiif meiwurkers rekrutearre yn de perioade inclusive.
Folgjende, lit sjen hoe't it wurket tusken SQL snaren.
Wurkje tusken snaren
In hiel algemien probleem dat moatte wurde oplost doe't wurke mei de nammen fan de wurknimmers - is de needsaak om te selektearjen allinnich dyjingen waans nammen begjinne mei in bepaalde letter. En wy besykje te fieren de query en selektearje meiwurkers waans nammen begjinne mei de lêste namme fan A nei B:
SELECT Managers. * FROM Behearders WHERE Menedzhery.Familiya tusken "A" en "B" ORDER BY 2 |
It resultaat is as folget:
koade | surname | namme | patronym | paul | Data_priema | Chislo_detey |
8 | Avdeeva | nick | K. | F | 31.03.2001 | 2 |
1 | Alexandrov | irene | N. | F | 05/01/2014 | 1 |
2 | Borovoy | andrew | S. | M | 09/21/2013 | 0 |
Sa't jo sjen kinne, de twa meiwurkers mei de namme op de letter B yn de list wienen net opnaam. Wat is de reden? It feit is krekt hoe't de eksploitant ferhâldt snaren fan 'e ûngelikense lingte. Line "B" is koarter tried "Vinogradov" en stuffed. Mar by it sortearjen fan alfabetysk romten sil flugger personaazjes, en de namme fan de stekproef sil net falle. Ferskillende databases jouwe ferskillende manieren te lossen dit probleem, mar it is faak de maklikste manier om oan te jaan de betrouberens fan de folgjende brief fan it alfabet yn it berik:
SELECT Managers. * FROM Behearders WHERE Menedzhery.Familiya tusken "A" en "D" ORDER BY 2 |
Wannear't fusillearre, de query resultaat sil foldwaan ús folslein.
Dit nuânse bestiet allinnich as wurkjen mei karakter gegevens, mar it docht bliken dat sels as wurkje mei sokke ienfâldige operators lykas tusken, jim moatte foarsichtich wêze.
Similar articles
Trending Now