ComputersProgrammering

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:

  1. Met nummers - integer en fractionele.
  2. Met data.
  3. Met tekst.

Doe dit tussen de SQL-instructie heeft bepaalde eigenaardigheden. We krijgen te leren kennen:

  1. Bij het werken met nummers en data van de grenswaarden "en van" zijn opgenomen in de steekproef.
  2. 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

 

 

 

 

Newest

Copyright © 2018 nl.atomiyme.com. Theme powered by WordPress.