598 Shares 3851 views

Tra SQL: Esempi Descrizione

Quando si lavora con un database relazionale in cui i dati sono memorizzati in tabelle, gli utenti sono spesso di fronte al compito di valori di campionamento inclusi (non incluse) in un certo intervallo. linguaggio SQL consente di definire più, che dovrebbe (non dovrebbe) appartengono al valore di diverse opzioni – operatore In, come operatore, una combinazione di condizioni più – meno, così come SQL per operatore Tra. Descrizione ed esempi in questo articolo si concentrerà su l'ultima versione.

"Tra" operatore in SQL: restrizioni della sintassi

Letteralmente operatore tra SQL e tradotto – "in mezzo". Il suo utilizzo permette di impostare un limite "e da" un particolare campo, e se il valore successivo rientra nell'intervallo, allora il predicato sarà impostato su "True", e il valore cadrà nel campione finale.

La sintassi dell'operatore è estremamente semplice:

Seleziona *

Dalla tabella t1

Dove t1.n tra 0 e 7

Come si può vedere, dopo la parola chiave tra voi deve specificare il valore del limite inferiore, quindi E, e il limite superiore.

Enumerare, quali tipi di dati, l'operatore può lavorare tra SQL:

  1. Con i numeri – intero e frazionata.
  2. Con date.
  3. Con il testo.

Fate questo tra istruzione SQL ha alcune peculiarità. Si arriva a conoscerli:

  1. Quando si lavora con i numeri e le date dei valori limite "e da" sono inclusi nel campione.
  2. Limite inferiore del campo deve essere inferiore rispetto al limite superiore, altrimenti non verrà visualizzato, perché la condizione non è logicamente vera. Particolare attenzione deve essere, quando, invece di valori specifici nelle variabili di condizione sono inclusi.

Quando si lavora con il valore di testo della gamma superiore non è incluso nel campione, se non è definito in modo molto preciso. Consideriamo questa funzione nelle seguenti sezioni in dettaglio.

numero dei campioni e date in un certo intervallo

Preparare un tavolo con i gestori di dati, che lavora per l'organizzazione. La tabella avrà la seguente struttura:

nome del campo

tipo di dati

descrizione

codice

contatore

ID univoco dipendente

cognome

testo

Nome del responsabile

nome

testo

nome del dipendente

patronimico

testo

dipendente patronimico

Paul

testo

personale di Sesso (M / F)

Data_priema

Data / ora

Data di ricevere il dipendente di lavorare

Chislo_detey

numero

Numero di bambini al dipendente

Compilare la tabella con i seguenti dati:

codice

cognome

nome

patronimico

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

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

2016/01/12

3

7

perle

nikita

V.

M

2017/01/11

1

8

Avdeeva

tacca

K.

F

31.03.2001

2

9

Yakovlev

Leonid

Nikolaevich

M

16.02.2009

0

Formare la query SQL in mezzo, che ci aiuterà a selezionare tutti i dipendenti che hanno 2 o 3 bambini:

I gestori SELECT. *

dei gestori

DOVE Menedzhery.Chislo_detey tra 2 e 3

Il risultato sarà di tre righe con i dati sui dipendenti con cognomi Shumilin, Tropnikov e Avdeeva.

Ora selezionare i dipendenti hanno ricevuto a partire dal 1 gennaio 2005 al 31 dicembre 2016. Va notato che le diverse banche dati in diversi modi consentono di registrare in termini di date. Nella maggior parte dei casi, la data di una forza alla forma giorno-mese-anno (o più conveniente) e registrato tra virgolette singole o doppie. Il DBMS MS Access data comprendono il segno "#". Eseguire questo esempio è solo basato su di esso:

I gestori SELECT. * Menedzhery.Data_priema

dei gestori

Dove i manager. Data_priema per Tra # 1/1/2005 # e # # 31/12/2016

Il risultato sarà di cinque dipendenti assunti nel corso del periodo compreso.

Quindi, vediamo come funziona tra le stringhe SQL.

Lavorare tra stringhe

Un problema molto comune che deve essere risolto quando si lavora con i nomi dei dipendenti – è la necessità di selezionare solo quelli i cui nomi iniziano con una certa lettera. E cerchiamo di eseguire la query e selezionare i dipendenti i cui nomi iniziano con il cognome da A a B:

I gestori SELECT. *

dei gestori

DOVE Menedzhery.Familiya tra "A" e "B"

ORDER BY 2

Il risultato è il seguente:

codice

cognome

nome

patronimico

Paul

Data_priema

Chislo_detey

8

Avdeeva

tacca

K.

F

31.03.2001

2

1

Alexandrov

Irene

N.

F

2014/05/01

1

2

Borovoy

Andrew

S.

M

2013/09/21

0

Come si può vedere, i due dipendenti con il nome sulla lettera B nella lista non sono stati inclusi. Qual è la ragione? Il fatto è esattamente come l'operatore confronta le stringhe di lunghezza diversa. Linea "B" è più breve stringa "Vinogradov" e imbottito. Ma quando sono ordinati in ordine alfabetico spazi saranno personaggi più veloci, e il nome del campione non cadrà. Diverse banche dati forniscono diversi modi per risolvere questo problema, ma spesso è il modo più semplice per indicare l'affidabilità della successiva lettera dell'alfabeto nella gamma:

I gestori SELECT. *

dei gestori

DOVE Menedzhery.Familiya tra "A" e "D"

ORDER BY 2

Quando viene eseguito, il risultato della query sarà ci soddisfa completamente.

Questa sfumatura esiste solo quando si lavora con i dati di carattere, ma dimostra che anche quando si lavora con tali operatori semplici come mezzo, bisogna stare attenti.