/ / Mellem SQL: eksempler, beskrivelse

Mellem SQL: eksempler, beskrivelse

Når du arbejder med relationelle DBMS, i hvilke datagemt i tabelform, står brugerne ofte over for opgaven med at vælge værdier, der er inkluderet (ikke inkluderet) i et bestemt interval. SQL-sproget giver dig mulighed for at specificere et sæt, der (bør ikke) høre til værdien med forskellige indstillinger - operatøren In, operatoren Like, en kombination af betingelser mere - mindre og også SQL mellem operatøren. Beskrivelsen og eksemplerne i denne artikel vil fokusere på sidstnævnte mulighed.

SQL mellem operatør: syntaks, begrænsninger

Bogstaveligt talt oversættes operatøren mellem SQL som følger -"mellem". Dens brug giver dig mulighed for at indstille begrænsningen "Fra og til" til et specifikt felt, og hvis den næste værdi falder inden for området, vil predikatet tage værdien "Sand", og værdien vil blive inkluderet i det endelige valg.

mellem m²

Operatørens syntaks er ekstremt enkel:

Vælg *

Fra tabel t1

Hvor t1.n mellem 0 og 7

Som du kan se, skal du efter nøgleordet mellem angive værdien af ​​den nedre kant af området, derefter OG og værdien for den øvre kant.

Lad os liste, hvilke datatyper SQL-operatøren kan arbejde med:

  1. Med tal - hel og brøk.
  2. Med datoer.
  3. Med tekst.

Dette mellem SQL-operatøren har visse særegenheder. Lad os lære dem at kende:

  1. Når du arbejder med tal og datoer, er Fra og Til begrænsninger inkluderet i markeringen.
  2. Den nederste grænse for rækkevidden skal væremindre end den øvre grænse, ellers vises intet, fordi betingelsen er logisk forkert. Du skal være særlig forsigtig, når variabler er inkluderet i betingelsen i stedet for specifikke værdier.

Når du arbejder med tekst, vil værdien af ​​den øverste grænse for området ikke blive inkluderet i markeringen, hvis det ikke er specificeret så præcist som muligt. I de følgende afsnit overvejer vi denne funktion mere detaljeret.

Prøvetagning af numre og datoer i et specifikt interval

Lad os udarbejde en tabel med data om ledere, der arbejder i organisationen. Tabellen har følgende struktur:

Feltnavn

Datatype

beskrivelse

kode

skranke

Unik identifikator for medarbejderen

Efternavn

Tekst

Medarbejderens efternavn

Fornavn

Tekst

Ansattes navn

mellemnavn

Tekst

Medarbejderes patronym

Paul

Tekst

Medarbejdernes køn (M / F)

Dato for modtagelse

Dato tid

Ansættelsesdato

Number_children

Numerisk

Antal børn, en medarbejder har

Lad os udfylde tabellen med følgende data:

kode

Efternavn

Fornavn

mellemnavn

Paul

Dato for modtagelse

Number_children

1

Alexandrova

Irina

Nikolaevna

F

01.05.2014

1

2

Borovoy

Andrew

Stepanovich

M

21.09.2013

0

3

Vinogradov

Sergei

Pavlovich

M

15.06.1998

1

4

Shumilin

Alexander

Borisovich

M

25.12.2004

2

5

Vishnyakov

Leonid

Alexandrovich

M

09.10.2007

0

6

Tropnikov

Vasiliy

Sergeevich

M

12.01.2016

3

7

Perler

Nikita

Vasilevich

M

11.01.2017

1

8

Avdeeva

Nika

Konstantinovna

F

31.03.2001

2

9

Yakovlev

Leonid

Nikolaevich

M

16.02.2009

0

Lad os sammensætte en sql-forespørgsel imellem, som vil hjælpe os med at vælge alle ansatte med 2 eller 3 børn:

VÆLG ledere. *

FRA ledere

WHERE Managers. Børnantal mellem 2 og 3

Resultatet bliver tre linjer med data om medarbejdere med efternavne Shumilin, Tropnikov og Avdeeva.

sql forespørgsel mellem

Lad os nu vælge de ansatte, der er ansat 1. januar2005 til 31. december 2016. Det skal bemærkes, at forskellige DBMS'er tillader skrivning af datoer til betingelserne på forskellige måder. I de fleste tilfælde tvinges datoen simpelthen til dag-måned-år (eller hvad der er mere praktisk) og skrives i enkelt eller dobbelt citat. I MS Access er datoen indesluttet i et "#" tegn. Lad os køre et eksempel baseret på det:

VÆLG Managers. *, Managers.Reception_Date

FRA ledere

HVOR ledere. Modtagelsesdato mellem # 1/1/2005 # og # 31/12/2016 #

Resultatet vil være fem ansatte ansat i den angivne periode inklusive.

Lad os derefter se, hvordan mellem SQL fungerer med strenge.

Arbejder imellem med strenge

En meget almindelig opgave, som du skal løsenår du arbejder med navnene på medarbejderne, er det kun nødvendigt at vælge dem, hvis navne begynder med et bestemt bogstav. Lad os prøve, og vi vil opfylde anmodningen og vælge medarbejdere, hvis efternavne begynder med efternavne fra A til B:

VÆLG ledere. *

FRA ledere

WHERE Managers. Efternavn mellem "A" og "B"

BESTIL MED 2

Resultatet er som følger:

kode

Efternavn

Fornavn

mellemnavn

Paul

Dato for modtagelse

Number_children

8

Avdeeva

Nika

Konstantinovna

F

31.03.2001

2

1

Alexandrova

Irina

Nikolaevna

F

01.05.2014

1

2

Borovoy

Andrew

Stepanovich

M

21.09.2013

0

Som du kan se, er to medarbejdere med et efternavn slået tilbogstavet B var ikke med på listen. Hvad er årsagen til dette? Pointen er, hvordan operatøren nøjagtigt sammenligner strenge med ulig længde. Linje "B" er kortere end linjen "Vinogradov" og er polstret med mellemrum. Men når du sorterer alfabetisk, vil mellemrumene være førende tegn, og efternavnet vil ikke blive inkluderet i markeringen. Forskellige DBMS'er tilbyder forskellige løsninger på dette problem, men det er ofte nemmest at specificere følgende bogstav i alfabetet i området for pålidelighed:

VÆLG ledere. *

FRA ledere

WHERE Managers. Efternavn mellem "A" og "D"

BESTIL MED 2

Når du udfører denne forespørgsel, vil resultatet helt tilfredsstille os.

sql mellem beskrivelsen

En sådan nuance findes kun, når man arbejder med symbolske data, men det viser, at når man arbejder selv med så enkle operatører imellem, skal man være forsigtig.

ønsket:
0
Populære indlæg
Åndelig udvikling
mad
y