/ / Between SQL: voorbeelden, beschrijving

Between SQL: voorbeelden, beschrijving

Bij het werken met relationele DBMS'en waarin gegevensopgeslagen in een tabelvorm, staan ​​gebruikers vaak voor de taak om waarden op te halen die (niet inbegrepen) in een bepaald bereik zijn. Met de SQL-taal kunt u een set specificeren die (mag) niet tot een waarde behoren door verschillende opties - de operator In, de operator Like, een combinatie van min of meer voorwaarden, en ook de instructie SQL Between. De beschrijving en voorbeelden in dit artikel zullen worden gewijd aan de laatste optie.

Between statement in SQL: syntax, beperkingen

Дословно оператор between SQL так и переводится – 'Tussen.' Door het gebruik ervan kunt u de beperking "Van en tot" instellen op een specifiek veld, en als de volgende waarde binnen het bereik valt, krijgt het predikaat de waarde "Waar" en valt de waarde in de uiteindelijke selectie.

tussen sql

De syntaxis van de operator is uiterst eenvoudig:

Selecteer *

Vanaf tabel t1

Waar t1.n tussen 0 en 7

Zoals u kunt zien, moet u na het trefwoord tussen, de waarde van de onderrand van het bereik specificeren, vervolgens EN en de waarde van de bovenrand.

Laten we een lijst maken met welke gegevenstypen de tussen SQL-operator kan werken:

  1. Met cijfers - geheel en fractioneel.
  2. Met dadels.
  3. Met tekst.

Deze tussen SQL-operator heeft bepaalde eigenaardigheden. Laten we ze leren kennen:

  1. Als u met cijfers en datums werkt, worden de beperkingen van Van en Tot in de selectie opgenomen.
  2. De ondergrens van het bereik moet zijnkleiner dan de waarde van de bovengrens, anders wordt er niets weergegeven, omdat de conditie logisch onjuist is. U moet vooral voorzichtig zijn wanneer variabelen in de voorwaarde zijn opgenomen in plaats van specifieke waarden.

Wanneer u met tekst werkt, wordt de waarde van de bovengrens van het bereik niet in de selectie opgenomen als deze niet zo nauwkeurig mogelijk is gespecificeerd. In de volgende secties zullen we deze functie in meer detail bespreken.

Bemonstering van nummers en datums in een specifiek bereik

Laten we een tabel voorbereiden met gegevens over managers die in de organisatie werken. De tabel zal de volgende structuur hebben:

Veldnaam

Data type

beschrijving

code

Teller

Unieke identificatie van de werknemer

achternaam

Tekst

Achternaam werknemer

Voornaam

Tekst

Naam werknemer

Midden-naam

Tekst

Patroniem van de werknemer

Paul

Tekst

Geslacht werknemer (M / V)

Datum van ontvangst

Datum Tijd

Datum van aanwerving van werknemer

Aantal_kinderen

Numeriek

Het aantal kinderen dat een werknemer heeft

Laten we de tabel invullen met de volgende gegevens:

code

achternaam

Voornaam

Midden-naam

Paul

Datum van ontvangst

Aantal_kinderen

1

Alexandrova

Irina

Nikolajevna

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

Aleksandrovich

M

09.10.2007

0

6

Tropnikov

Basilicum

Sergeevich

M

12.01.2016

3

7

Parels

Nikita

Vasilevich

M

11.01.2017

1

8

Avdeeva

Nika

Konstantinovna

F.

31.03.2001

2

9

Yakovlev

Leonid

Nikolajevitsj

M

16.02.2009

0

Laten we een sql-query opstellen tussen, waarmee we alle werknemers met 2 of 3 kinderen kunnen selecteren:

SELECTEER managers. *

VAN Managers

WAAR Managers.Kindnummer tussen 2 en 3

Het resultaat zijn drie regels met gegevens over werknemers met de namen Shumilin, Tropnikov en Avdeeva.

sql-zoekopdracht tussen

Laten we nu de werknemers selecteren die op 1 januari zijn aangenomen2005 tot 31 december 2016. Opgemerkt moet worden dat verschillende DBMS'en het mogelijk maken om datums op verschillende manieren naar voorwaarden te schrijven. In de meeste gevallen wordt de datum eenvoudigweg geforceerd omgezet in dag-maand-jaar (of wat dan ook geschikter is) en tussen enkele of dubbele aanhalingstekens geschreven. In MS Access staat de datum tussen een "#" -teken. Laten we er een voorbeeld op baseren:

SELECT Managers. *, Managers.Reception_Date

VAN Managers

WAAR Managers. Ontvangst_datum tussen # 1/1/2005 # en # 31/12/2016 #

Het resultaat zijn vijf medewerkers die in de genoemde periode zijn aangenomen.

Laten we vervolgens kijken hoe tussen SQL werkt met strings.

Tussendoor werken met strijkers

Een veel voorkomende taak die je moet oplossenwanneer u met de namen van werknemers werkt, is het noodzakelijk om alleen diegenen te selecteren wiens achternaam met een bepaalde letter begint. Laten we proberen en we zullen aan het verzoek voldoen en medewerkers selecteren wiens achternaam begint met de achternaam van A tot B:

SELECTEER managers. *

VAN Managers

WAAR Managers. Achternaam tussen "A" en "B"

BESTEL DOOR 2

Het resultaat is als volgt:

code

achternaam

Voornaam

Midden-naam

Paul

Datum van ontvangst

Aantal_kinderen

8

Avdeeva

Nika

Konstantinovna

F.

31.03.2001

2

1

Alexandrova

Irina

Nikolajevna

F.

01.05.2014

1

2

Borovoy

Andrew

Stepanovich

M

21.09.2013

0

Zoals u kunt zien, twee medewerkers met een achternaam opde letter B kwam niet voor in de lijst. Wat is hiervan de reden? Het punt is hoe de operator reeksen van ongelijke lengte precies vergelijkt. Regel "B" is korter dan regel "Vinogradov" en is opgevuld met spaties. Maar bij alfabetische sortering zijn de spaties hoofdtekens en wordt de achternaam niet in de selectie opgenomen. Verschillende DBMS'en bieden verschillende oplossingen voor dit probleem, maar het is vaak het gemakkelijkst om de volgende letter van het alfabet in het bereik op te geven voor betrouwbaarheid:

SELECTEER managers. *

VAN Managers

WAAR Managers. Achternaam tussen "A" en "D"

BESTEL DOOR 2

Bij het uitvoeren van deze zoekopdracht zal het resultaat ons volledig tevreden stellen.

sql tussen beschrijving

Zo'n nuance bestaat alleen bij het werken met karaktergegevens, maar het laat zien dat men voorzichtig moet zijn wanneer men zelfs met zulke eenvoudige operatoren als tussen werkt.

leuk vond:
0
Populaire berichten
Spirituele ontwikkeling
eten
Y