ComputereProgrammering

Mellem SQL: Examples Beskrivelse

Når man arbejder med en relationel database, hvor data gemmes i tabeller, er brugerne ofte konfronteret med den opgave at sampling-værdierne er inkluderet (ikke inkluderet) i et bestemt interval. SQL-sproget kan du definere flere, som skal (bør ikke) hører til værdien af forskellige muligheder - operatør I, Ligesom operatør, en kombination af tilstande mere - mindre, samt SQL til Mellem operatør. Beskrivelse og eksempler i denne artikel vil fokusere på den nyeste version.

"Mellem" operatør i SQL: Syntaks restriktioner

Bogstaveligt talt operatør mellem SQL og oversat - "i mellem". Dens anvendelse gør det muligt at sætte en grænse "og fra" et bestemt område, og hvis den næste værdi falder inden for området, så prædikatet vil blive sat til "True", og værdien vil falde i den endelige prøve.

Syntaksen for operatøren er meget enkel:

Vælg *

Fra tabel t1

Hvor t1.n mellem 0 og 7

Som du kan se, efter nøgleordet mellem dig skal angive værdien af den nedre grænse, da OG, og den øvre grænse.

Opregne, hvilke typer af data operatøren kan arbejde mellem SQL:

  1. Med tal - heltal og fraktioneret.
  2. Med datoer.
  3. Med tekst.

Gør dette mellem SQL-sætning har visse særegenheder. Vi lærer dem at kende:

  1. Når man arbejder med numre og datoer for grænseværdier "og fra" indgår i prøven.
  2. Lavere rækkevidde værdi skal være mindre end den øvre grænse, ellers intet vil blive vist, fordi betingelsen er ikke logisk sandt. Særlig omhu skal være, når, i stedet for specifikke værdier i den stand variabler er inkluderet.

Når man arbejder med tekst værdien af det øvre område er ikke inkluderet i stikprøven, hvis det ikke er defineret meget præcist. Vi anser denne funktion i de følgende afsnit i detaljer.

Sample numre og datoer i et bestemt interval

Forbered et bord med data ledere, der arbejder i organisationen. Tabellen vil have den følgende struktur:

feltnavn

datatype

beskrivelse

kode

skranke

Unikt medarbejder ID

efternavn

tekst

Navn på officer

navn

tekst

medarbejder navn

efternavn

tekst

efternavn medarbejder

Paul

tekst

Sex personale (M / F)

Data_priema

Dato / tid

Dato for modtagelse af den ansatte til at arbejde

Chislo_detey

nummer

Antal børn på medarbejderen

Udfyld skemaet med følgende data:

kode

efternavn

navn

efternavn

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

perler

Nikita

V.

M

2017/01/11

1

8

Avdeeva

Nick

K.

F

2001/03/31

2

9

Yakovlev

Leonid

Nikolaevich

M

16.02.2009

0

Form sql forespørgslen mellem, som vil hjælpe os med at vælge alle de ansatte, der har 2 eller 3 børn:

SELECT Managers. *

FRA Managers

HVOR Menedzhery.Chislo_detey mellem 2 og 3

Resultatet vil være tre rækker med data om medarbejdere med efternavne Shumilin, Tropnikov og Avdeeva.

Vælg nu de ansatte modtaget fra 1. januar 2005 til 31. december 2016. Det skal bemærkes, at forskellige databaser på forskellige måder giver dig mulighed for at optage i form af datoer. I de fleste tilfælde datoen for en kraft til formularen dag-måned-år (eller mere praktisk) og registreres i enkelte eller dobbelte anførselstegn. Den DBMS MS Access dato omfatter tegnet "#". Kør dette eksempel er blot baseret på det:

SELECT Managers. * Menedzhery.Data_priema

FRA Managers

HVOR Managers. Data_priema til Mellem # 2005/01/01 # Og # 31.12.2016 #

Resultatet vil være fem ansatte, som ansættes i perioden inklusive.

Næste, lad os se, hvordan det fungerer mellem SQL strenge.

Arbejde i mellem strenge

Et meget almindeligt problem, som skal løses, når der arbejdes med navnene på de ansatte - er behovet kun dem, hvis navn begynder med et bestemt bogstav for at vælge. Og vi forsøger at udføre forespørgslen og vælge medarbejdere, hvis navn begynder med det sidste navn fra A til B:

SELECT Managers. *

FRA Managers

HVOR Menedzhery.Familiya mellem "A" og "B"

ORDER BY 2

Resultatet er som følger:

kode

efternavn

navn

efternavn

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 du kan se, blev de to medarbejdere med navnet på bogstavet B i listen ikke inkluderet. Hvad er årsagen? Faktum er præcis, hvordan operatøren sammenligner strenge af ulige længde. Line "B" er kortere snor "Vinogradov" og polstret. Men når sortering alfabetisk rum bliver hurtigere tegn, og navnet på prøven vil ikke falde. Forskellige databaser giver forskellige måder at løse dette problem, men det er ofte den nemmeste måde at angive pålideligheden af den næste bogstav i alfabetet i området:

SELECT Managers. *

FRA Managers

HVOR Menedzhery.Familiya mellem "A" og "D"

ORDER BY 2

Når henrettet, vil forespørgslen resultat tilfredsstille os fuldstændigt.

Denne nuance eksisterer kun, når der arbejdes med tegn data, men det viser, at selv når der arbejdes med sådanne enkle operatører som mellem, er du nødt til at være forsigtig.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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