Între SQL: exemple, descriere
Atunci când se lucrează cu baze de date relaționale în care datele sunt stocate într-o formă tabelară, utilizatorii se confruntă deseori cu sarcina de prelevare a valorilor care sunt incluse (nu sunt incluse) într-un anumit interval. Limba SQL vă permite să specificați setul căruia valoarea nu ar trebui (ar trebui) să aparțină unor opțiuni diferite - operatorul In, operatorul Like, combinația de condiții este mai puțin, și, de asemenea, operatorul SQL Between. Descrierea și exemplele din acest articol vor fi dedicate celei de-a doua opțiuni.
conținut
Operatorul "Între" în SQL: sintaxă, constrângeri
Operatorul între SQL este tradus literal "între". Utilizarea lui vă permite să setați restricția "De la" la un anumit câmp și dacă următoarea valoare intră în interval, predicatul va fi "Adevărat", iar valoarea va ajunge în selecția finală.
Sintaxa operatorului este extrem de simplă:
Selectați * Din tabelul t1 Unde t1.n între 0 și 7 |
După cum puteți vedea, după ce cuvântul cheie este necesar să specificați valoarea limitei inferioare a intervalului, atunci AND și valoarea limitei superioare.
Să enumerăm tipurile de date pe care operatorul SQL poate funcționa:
- Cu numere - întreg și fracționar.
- Cu datele.
- Cu textul.
Operatorul dat între SQL are anumite caracteristici. Să le cunoaștem:
- Când lucrați cu numere și date, valorile constrângerilor "De la și la" sunt incluse în eșantion.
- Valoarea limitei inferioare a intervalului ar trebui să fie mai mică decât valoarea limitei superioare, altfel nimic nu va fi emis, deoarece condiția nu este logică. O atenție deosebită trebuie acordată atunci când variabilele sunt incluse în condiție în loc de valori specifice.
La lucrul cu textul, valoarea limitei superioare a intervalului nu va fi inclusă în eșantion, cu excepția cazului în care este specificat cu precizie extremă. În secțiunile următoare, vom lua în considerare această caracteristică mai detaliat.
Selectarea numerelor și a datelor dintr-un anumit interval
Pregătiți un tabel cu date despre managerii care lucrează în organizație. Tabelul va avea următoarea structură:
Nume câmp | Tip de date | descriere |
cod | contor | Cod personal unic |
Nume de familie | text | Numele de familie al angajatului |
nume | text | Numele angajatului |
Nume de mijloc | text | Patronimic al angajatului |
Paul | text | Sex angajat (M / F) |
Data_de recepție | Data / Ora | Data primirii angajatului pentru muncă |
Numărul de copii | număr | Numărul de copii de la angajat |
Completați tabelul cu următoarele date:
cod | Nume de familie | nume | Nume de mijloc | Paul | Data_de recepție | Numărul de copii |
1 | Alexandrov | Irene | N. | F | 05/01/2014 | 1 |
2 | Borovoy | Andrew | S. | M | 09/21/2013 | 0 |
3 | Vinogradov | Serghei | Pavlovich | M | 15.06.1998 | 1 |
4 | Șumilin | Alexander | B. | M | 25.12.2004 | 2 |
5 | Vishnyakov | Leonid | A. | M | 09.10.2007 | 0 |
6 | Tropnikov | Vasili | S. | M | 01/12/2016 | 3 |
7 | perle | Nikita | V. | M | 01/11/2017 | 1 |
8 | Avdeeva | nick | K. | F | 31.03.2001 | 2 |
9 | Yakovlev | Leonid | Nikolaevici | M | 16.02.2009 | 0 |
Vom compune interogare SQL între, ceea ce ne va ajuta să alegem toți angajații cu 2 sau 3 copii:
SELECTați managerii. * Din Manageri WHERE Manageri.Număr de copii între 2 și 3 ani |
Rezultatul va fi de trei rânduri cu date despre angajați cu numele lui Shumilin, Tropnikov și Avdeeva.
Acum vom selecta angajații acceptați de la 1 ianuarie 2005 până la 31 decembrie 2016. Trebuie remarcat faptul că diferitele DBMS pot fi scrise în moduri diferite în ceea ce privește data. În cele mai multe cazuri, data pur și simplu duce cu forța la formularul zi-lună-an (sau mai convenabil) și este scrisă în citate unice sau duble. În DBMS MS Access data este introdusă ca "#". Vom executa un exemplu pe baza sa:
SELECT MANAGERI. *, Manageri. Data recepției Din Manageri Unde sunt administratorii? Date_receive Între # 1/1/2005 # # # 31/12/2016 # |
Rezultatul va fi de 5 angajați, angajați pentru perioada specificată, inclusiv.
Apoi, să vedem cum funcționează SQL cu șiruri de caractere.
Lucrați între linii
O sarcină foarte frecventă care trebuie rezolvată atunci când se lucrează cu nume de angajați este necesitatea de a selecta numai acelea ale căror nume încep cu o anumită literă. Vom încerca, de asemenea, să îndeplinim cererea și să selectăm angajații ale căror nume încep cu numele de familie de la A la B:
SELECTați managerii. * Din Manageri WHERE Manageri Numele de familie între "A" și "B" ORDINEA DE 2 |
Rezultatul este următorul:
cod | Nume de familie | nume | Nume de mijloc | Paul | Data_de recepție | Numărul de copii |
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 |
După cum puteți vedea, doi angajați care au un nume de familie cu litera B nu sunt incluși în listă. Care este motivul pentru aceasta? Punctul este modul în care operatorul compară liniile de lungime inegală. Linia "B" este mai scurtă decât linia "Vinogradov" și este completată cu spații. Dar când sortați în ordine alfabetică, spațiile vor fi simboluri principale, iar numele nu va fi inclus în eșantion. Diferite SGB-uri oferă soluții diferite la această problemă, dar este adesea mai ușor să indicați următoarea literă a alfabetului în intervalul:
SELECTați managerii. * Din Manageri WHERE Manageri Numele dintre "A" și "G" ORDINEA DE 2 |
Când interogarea este executată, rezultatul ne va satisface complet.
O astfel de nuanță există numai atunci când se lucrează cu date de caractere, dar arată că atunci când lucrăm chiar și cu operatori simpli, între aceștia, trebuie să fim atenți.
- Instrucțiunea Select (SQL)
- Operatorul casierului este o profesie minunată în sectorul bancar
- Cum se compun interogările SQL - exemple detaliate
- Cum se ajunge la operatorul `Megafon`: cel mai bun sfat
- MySQL selectați selectați: operatorul de eșantionare
- HAVING SQL: descriere, sintaxă, exemple
- SQL unde: metode de aplicare și exemple
- Instrucțiunea SQL INNER JOIN: exemple, sintaxă și caracteristici
- Ce face funcția SQL CONCAT?
- Operatorul de atribuire în "Pascal": ce se intenționează, ce acțiuni sunt efectuate
- Operatorul Velcom - instalarea fără probleme a internetului
- Funcția de sumare în SQL: SUM
- Declarați SQL: descriere. Transact-SQL
- Vlookup Excel: cum se utilizează (exemple)
- Operator PC: caracteristici de lucru, specificații și cerințe
- Selectați înregistrări unice în interogarea MySQL: selectați distinct
- Proiectarea opțiunii switch case PHP
- Construcția PHP dacă altceva: logică ascunsă
- Cum pot verifica restul minutelor pe MTS în mai multe moduri?
- Cum să contactați operatorul Beeline prin telefon?
- Cum să contactați operatorul MTS - instrucțiuni scurte