DatorerProgrammering

Mellan SQL: Exempel Beskrivning

När du arbetar med en relationsdatabas där data lagras i tabeller, användarna ofta inför uppgiften att samplingsvärden ingår (ingår ej) i ett visst intervall. SQL-språket kan du definiera flera, vilket bör (inte borde) hör till värdet av olika alternativ - operatör, som operatör, en kombination av villkor som är mer - mindre, liksom SQL för Between operatör. Beskrivning och exempel i denna artikel kommer att fokusera på den senaste versionen.

"mellan" operatör i SQL: Syntax begränsningar

Bokstavligen operatör mellan SQL och översatt - "mellan". Dess användning gör det möjligt att sätta en gräns "och från" ett visst område, och om nästa värde faller inom intervallet, då predikatet kommer att sättas till "True" och värdet kommer att falla i det slutliga provet.

Syntaxen för operatören är mycket enkel:

Välj *

Från tabell t1

Där t1.n mellan 0 och 7

Som ni ser, efter nyckelordet mellan måste du ange värdet på den undre gränsen, då och, och den övre gränsen.

Räkna, vilka typer av data operatören kan arbeta mellan SQL:

  1. Med siffror - heltal och fraktionerad.
  2. Med datum.
  3. Med text.

Gör detta mellan SQL-sats har vissa egenheter. Vi lär känna dem:

  1. När man arbetar med siffror och datum för gränsvärden "och från" ingår i urvalet.
  2. Lägre intervallet Värdet måste vara mindre än den övre gränsen, annars ingenting kommer att visas, eftersom villkoret inte är logiskt sant. Särskild försiktighet måste vara, då, i stället för specifika värden i det skick variabler ingår.

När du arbetar med textvärdet av det övre området inte ingick i urvalet, om det inte är definierat mycket noggrant. Vi anser att denna funktion i de följande avsnitten i detalj.

Provnummer och datum i ett visst intervall

Förbered en tabell med dataansvariga, som arbetar i organisationen. Tabellen kommer att ha följande struktur:

fältnamn

datatyp

beskrivning

kod

räknare

Unikt anställd ID

efternamn

text

Namn på officer

namn

text

anställdes namn

patronymikon

text

patronymikon anställd

Paul

text

Köns personal (M / K)

Data_priema

Datum / Tid

Efter mottagandet av den anställde att arbeta

Chislo_detey

nummer

Antal barn på den anställde

Fyll i tabellen med följande uppgifter:

kod

efternamn

namn

patronymikon

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

pärlor

Nikita

V.

M

2017/01/11

1

8

Avdeeva

Nick

K.

F

2001/03/31

2

9

Jakovlev

Leonid

Nikolaevich

M

16.02.2009

0

Forma SQL-fråga mellan, vilket kommer att hjälpa oss att välja alla anställda som har 2 eller 3 barn:

SELECT Managers. *

från chefer

VAR Menedzhery.Chislo_detey mellan 2 och 3

Resultatet kommer att vara tre rader med uppgifter om anställda med efternamn Shumilin, Tropnikov och Avdeeva.

Nu väljer de anställda fått från den 1 januari 2005 till 31 december 2016. Det bör noteras att olika databaser på olika sätt kan du spela in när det gäller datum. I de flesta fall, den dag då en kraft på formen dag-månad-år (eller mer bekvämt) och registreras i enkla eller dubbla citattecken. Den DBMS MS Access datum utgör skylten "#". Kör detta exempel bara bygger på det:

SELECT chefer. * Menedzhery.Data_priema

från chefer

Där chefer. Data_priema för Between # 2005/01/01 # Och # 31/12/2016 #

Resultatet blir fem anställda rekryteras under perioden inclusive.

Nästa, låt oss se hur det fungerar mellan SQL strängar.

Arbetet mellan strängar

Ett mycket vanligt problem som måste lösas när man arbetar med namnen på de anställda - är behovet av att välja endast de vars namn börjar med en viss bokstav. Och vi försöker köra frågan och välj anställda vars namn börjar med efternamnet från A till B:

SELECT Managers. *

från chefer

VAR Menedzhery.Familiya mellan "A" och "B"

ORDER BY 2

Resultatet är som följer:

kod

efternamn

namn

patronymikon

Paul

Data_priema

Chislo_detey

8

Avdeeva

Nick

K.

F

2001/03/31

2

1

Alexandrov

Irene

N.

F

2014/05/01

1

2

Borovoy

Andrew

S.

M

2013/09/21

0

Som ni ser, de två anställda med namnet på bokstaven B i listan ingår inte. Vad är orsaken? Faktum är exakt hur operatören jämför strängar av olika längd. Line "B" är kortare strängen "Vinogradov" och vadderad. Men vid sortering i bokstavsordning utrymmen kommer att bli snabbare tecken och namnet på provet kommer inte att falla. Olika databaser ger olika sätt att lösa detta problem, men det är ofta det enklaste sättet att indikera tillförlitligheten i nästa bokstav i alfabetet i intervallet:

SELECT Managers. *

från chefer

VAR Menedzhery.Familiya mellan "A" och "D"

ORDER BY 2

När den körs, kommer frågan resultat tillfredsställa oss helt.

Denna nyans existerar endast när man arbetar med teckendata, men det visar att även när man arbetar med så enkla operatörer som mellan, du måste vara försiktig.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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