DatamaskinerProgrammering

Mellom SQL: Eksempler Beskrivelse

Når man arbeider med en relasjonsdatabase i hvilket data er lagret i tabeller, er brukere ofte overfor oppgaven av samplingsverdier som inngår (ikke inkludert) i et bestemt område. SQL språket lar deg definere flere, som skal (bør ikke) tilhører verdien av ulike alternativer - operatør In, som operatør, en kombinasjon av forhold mer - mindre, samt SQL for mellom operatør. Beskrivelse og eksempler i denne artikkelen vil fokusere på den nyeste versjonen.

"Mellom" operator i SQL: Syntax restriksjoner

Bokstavelig talt operatør mellom SQL og oversatt - "i mellom". Dets bruk gjør det mulig å sette en grense "og fra" et bestemt felt, og hvis den neste verdien faller innenfor området, da den predikat vil bli satt til "riktig", og verdien vil falle i den endelige prøven.

Syntaksen operatøren er svært enkel:

Velg *

Fra tabellen t1

Hvor t1.n mellom 0 og 7

Som du kan se, etter nøkkelordet mellom må du angi verdien av den nedre grensen, da og, og den øvre grensen.

Nummerere, hvilke datatyper operatøren kan arbeide mellom SQL:

  1. Med tall - heltall og brøk.
  2. Med datoer.
  3. Med tekst.

Gjør dette mellom SQL-setningen har visse særegenheter. Vi blir kjent med dem:

  1. Når du arbeider med tall og datoer for grenseverdier "og fra" inngår i utvalget.
  2. Minsteverdi må være mindre enn den øvre grensen, ellers ingenting vil bli vist, fordi tilstanden er ikke logisk sant. Spesiell forsiktighet må være, da, i stedet for spesifikke verdier i tilstandsvariabler er inkludert.

Når man arbeider med teksten verdien av det øvre området er ikke inkludert i prøven, dersom den ikke er definert meget nøyaktig. Vi anser denne funksjonen i følgende avsnitt i detalj.

Eksempel på tall og datoer i et bestemt område

Forbered en tabell med dataene ledere, som arbeider i organisasjonen. Tabellen vil ha følgende struktur:

feltnavn

datatype

beskrivelse

kode

teller

Unik ansatt ID

etternavn

tekst

Navn på offiser

navn

tekst

ansatt navn

patronymic

tekst

patronymic ansatt

Paul

tekst

Sex personell (M / F)

Data_priema

Dato / tid

Dato for mottak av den ansatte til å jobbe

Chislo_detey

nummer

Antall barn på ansatt

Fyll ut tabellen med følgende data:

kode

etternavn

navn

patronymic

Paul

Data_priema

Chislo_detey

1

Alexandrov

Irene

N.

F

05/01/2014

1

2

Borovoy

Andrew

S.

M

09/21/2013

0

3

Vinogradov

Sergei

Pavlovitsj

M

15.06.1998

1

4

Shumilin

Alexander

B.

M

25.12.2004

2

5

Vishnyakov

Leonid

A.

M

09.10.2007

0

6

Tropnikov

Vasily

S.

M

01/12/2016

3

7

perler

Nikita

V.

M

01/11/2017

1

8

Avdeeva

Nick

K.

F

31.03.2001

2

9

Yakovlev

Leonid

Nikolaevich

M

16.02.2009

0

Danne sql spørring mellom, noe som vil hjelpe oss til å velge alle de ansatte som har 2 eller 3 barn:

SELECT Managers. *

fra ledere

HVOR Menedzhery.Chislo_detey mellom 2 og 3

Resultatet vil være tre rader med data om ansatte med etternavn Shumilin, Tropnikov og Avdeeva.

Nå velger de ansatte fikk fra 1. januar 2005 til 31. desember 2016. Det bør bemerkes at ulike databaser på forskjellige måter lar deg spille inn når det gjelder datoer. I de fleste tilfeller, datoen for en kraft til skjemaet dag-måned-år (eller mer praktisk) og registrert i enkle eller doble anførselstegn. DBMS MS Access dato utgjør skiltet "#". Kjør dette eksemplet er bare basert på det:

SELECT Managers. * Menedzhery.Data_priema

fra ledere

Der ledere. Data_priema for Mellom # 1/1/2005 # og # 31/12/2016 #

Resultatet vil være fem ansatte rekruttert i perioden inkluderende.

Neste, la oss se hvordan det fungerer mellom SQL strenger.

Arbeid i mellom strenger

En veldig vanlig problem som må løses når du arbeider med navnene på de ansatte - er behovet for å velge bare de med navn som begynner med en bestemt bokstav. Og vi prøver å utføre søket og velg ansatte med navn som begynner med etternavn fra A til B:

SELECT Managers. *

fra ledere

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

ORDER BY 2

Resultatet er som følger:

kode

etternavn

navn

patronymic

Paul

Data_priema

Chislo_detey

8

Avdeeva

Nick

K.

F

31.03.2001

2

1

Alexandrov

Irene

N.

F

05/01/2014

1

2

Borovoy

Andrew

S.

M

09/21/2013

0

Som du kan se, ble de to ansatte med navnet på bokstaven B i listen er ikke inkludert. Hva er årsaken? Faktum er nøyaktig hvordan operatøren sammen strenger av ulik lengde. Line "B" er kortere streng "Vinogradov" og polstret. Men når du sorterer alfabetisk områder vil være raskere tegn, og navnet på prøven vil ikke falle. Ulike databaser gir ulike måter å løse dette problemet, men det er ofte den enkleste måten å indikere påliteligheten av neste bokstav i området:

SELECT Managers. *

fra ledere

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

ORDER BY 2

Når henrettet, vil søkeresultatet tilfredsstille oss helt.

Dette nyanse eksisterer bare når du arbeider med tegndata, men det viser at selv når du arbeider med slike enkle operatører som mellom, må du være forsiktig.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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