Computers, Programmering
Tussen SQL: Voorbeelden Beschrijving
Bij het werken met een relationele database waarin gegevens worden opgeslagen in tabellen, zijn de gebruikers vaak geconfronteerd met de taak van de bemonstering waarden inbegrepen (niet inbegrepen) in een bepaald bereik. SQL-taal kunt u meerdere definiëren, die (niet) moet behoren tot de waarde van de verschillende opties - operator In, Net als operator, een combinatie van omstandigheden meer - minder, evenals SQL voor operator Tussen. Beschrijving en voorbeelden in dit artikel zal zich richten op de nieuwste versie.
"Tussen" operator in SQL: beperkingen Syntax
Letterlijk operator tussen SQL en vertaald - "in tussen". Het gebruik ervan maakt het mogelijk om een limiet te stellen "en van" een bepaald gebied, en als de volgende waarde binnen het bereik valt, dan is het predicaat wordt ingesteld op "True", en wordt de waarde in het uiteindelijke monster vallen.
De syntax van de operator is uiterst eenvoudig:
Selecteer * Uit tabel T1 Waar t1.n tussen 0 en 7 |
Zoals u kunt zien, na het zoekwoord tussen u moet de waarde van de ondergrens te geven, dan AND, en de bovengrens.
Inventariseer, welke typen gegevens de operator kan werken tussen SQL:
- Met nummers - integer en fractionele.
- Met data.
- Met tekst.
Doe dit tussen de SQL-instructie heeft bepaalde eigenaardigheden. We krijgen te leren kennen:
- Bij het werken met nummers en data van de grenswaarden "en van" zijn opgenomen in de steekproef.
- Minimum meetwaarde moet kleiner zijn dan de bovengrens, anders zal er niets worden weergegeven, omdat de aandoening is niet logisch waar. Speciale aandacht dient te worden, wanneer, in plaats van specifieke waarden in de toestand variabelen worden opgenomen.
Bij het werken met de tekst waarde van de bovengrens is niet in het monster, als het niet zeer nauwkeurig is bepaald. We beschouwen deze functie in de volgende paragrafen in detail.
Aantallen monsters en data in een bepaald bereik
Maak een tabel met de gegevens managers, die werkzaam zijn in de organisatie. De tabel zal de volgende structuur hebben:
veldnaam | datatype | beschrijving |
code | teller | Uniek personeelsnummer |
achternaam | tekst | Naam van de ambtenaar |
naam | tekst | naam van de werknemer |
patronymicum | tekst | patronymic werknemer |
Paul | tekst | Sex personeel (M / V) |
Data_priema | Datum / Tijd | Datum van ontvangst van de werknemer aan het werk |
Chislo_detey | nummer | Aantal kinderen bij de werknemer |
Vul in de tabel met de volgende gegevens:
code | achternaam | naam | patronymicum | Paul | Data_priema | Chislo_detey |
1 | Alexandrov | Irene | N. | F | 2014/05/01 | 1 |
2 | Borovoy | Andrew | S. | M | 2013/09/21 | 0 |
3 | Vinogradov | Sergei | Pavlovich | M | 1998/06/15 | 1 |
4 | Shumilin | Alexander | B. | M | 2004/12/25 | 2 |
5 | Vishnyakov | Leonid | A. | M | 09.10.2007 | 0 |
6 |
Tropnikov | Vasily | S. | M | 2016/01/12 | 3 |
7 | parels | Nikita | V. | M | 2017/01/11 | 1 |
8 | Avdeeva | Nick | K. | F | 31.03.2001 | 2 |
9 | Yakovlev | Leonid | Nikolajevitsj | M | 16.02.2009 | 0 |
Vorm de sql-query tussen, die ons zal helpen om alle werknemers die 2 of 3 kinderen te selecteren:
SELECT Managers. * FROM Managers WAAR Menedzhery.Chislo_detey tussen 2 en 3 |
Het resultaat zal zijn drie rijen met gegevens over werknemers met achternamen Shumilin, Tropnikov en Avdeeva.
Selecteer nu de werknemers ontvangen van 1 januari 2005 tot 31 december 2016. Opgemerkt dient te worden dat de verschillende databases op verschillende manieren kunt u opnemen op het gebied van data. In de meeste gevallen is de datum van een kracht om de vorm dag-maand-jaar (of meer geschikt zou zijn) en vastgelegd in enkele of dubbele aanhalingstekens. De DBMS MS Access datum bevatten het teken "#". Voer dit voorbeeld is alleen gebaseerd op het:
SELECT Managers. * Menedzhery.Data_priema FROM Managers WAAR Managers. Data_priema voor Tussen # 1/1/2005 # En # 31/12/2016 # |
Het resultaat zal zijn vijf medewerkers aangeworven in de periode inclusief.
Vervolgens laten we eens kijken hoe het werkt tussen SQL strings.
Werk in tussen strings
Een veel voorkomend probleem dat opgelost moet worden bij het werken met de namen van de medewerkers - is de noodzaak om alleen die waarvan de naam begint met een bepaalde letter te kiezen. En we proberen de query en selecteert medewerkers waarvan de naam begint met de achternaam van A naar B uit te voeren:
SELECT Managers. * FROM Managers WAAR Menedzhery.Familiya tussen "A" en "B" ORDER BY 2 |
Het resultaat is als volgt:
code | achternaam | naam | patronymicum | Paul | Data_priema | Chislo_detey |
8 | Avdeeva | Nick | K. | F | 31.03.2001 | 2 |
1 | Alexandrov | Irene | N. | F | 2014/05/01 | 1 |
2 | Borovoy | Andrew | S. | M | 2013/09/21 | 0 |
Zoals u kunt zien, werden de twee medewerkers met de naam op de letter B in de lijst niet inbegrepen. Wat is de reden? Het feit is precies hoe de operator vergelijkt snaren van ongelijke lengte. Line "B" is korter string "Vinogradov" en gewatteerde. Maar wanneer alfabetisch sorteren ruimtes sneller zal zijn personages, en de naam van het monster niet kan vallen. Verschillende databases bieden verschillende manieren om dit probleem op te lossen, maar het is vaak de gemakkelijkste manier om de betrouwbaarheid van de volgende letter van het alfabet in het bereik te geven:
SELECT Managers. * FROM Managers WAAR Menedzhery.Familiya tussen "A" en "D" ORDER BY 2 |
Als het wordt uitgevoerd, zal de query resultaat ons volledig tevreden te stellen.
Deze nuance bestaat alleen bij het werken met karakter data, maar het toont aan dat zelfs bij het werken met zulke eenvoudige operatoren tussen, je moet voorzichtig zijn.
Similar articles
Trending Now