Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » sql
Operatori utilizati in SQL

Operatori utilizati in SQL


Operatori utilizati in SQL

O expresie SQL este o expresie formata din operanzi, operatori si paranteze.

Operatorii SQL pot fi reprezentati prin unul sau mai multe caractere speciale (+, <,.) sau prin cuvinte cheie (AND, OR, NOT, UNION). 

Operatorii se impart in sase grupe distincte: aritmetici, de comparare, caracter, logici, pentru multimi si alti operatori.

Astfel, avem urmatorii operatori:

aritmetici: +, -, <, <=, <> (!=);

logici: AND, OR, NOT.

Operatorii logici se aplica asupra unor valori ternare (o valoare ce reprezinta un operand ce poate avea valoare TRUE (1), FALSE (0) si NULL (lipsa de informatie)). Nu exista tipul de date boolean asupra caruia sa se aplice operatorii logici dar operatorii de comparatie returneaza o valoare booleana.



Operatorii de comparare evalueaza orice expresie la o valoare logica (bool): TRUE, FALSE. Tipul boolean exista insa incepand din SQL3. Operatorii de comparare pot fi:

  • aritmetici: <, >, <=, >=, =, != (<>);
  • relationali

BETWEEN val_min val_max;

LIKE model_sir > sir;

IS NULL sau IS NOT NULL;

IN lista_valori.

1. Operatorii aritmetici

Operatorii aritmetici sunt: plus (+), minus (-), impartire (/), inmultire (*) si modulo (%). Primii patru sunt descrisi chiar prin numele lor.

Daca se plaseaza cativa operatori aritmetici intr-o expresie fara paranteze, ei sunt tratati in ordinea urmatoare: inmultire, impartire, modulo, adunare, apoi scadere.

Plus (+) Se introduce comanda:

SQL>SELECT Mat, Pret_u,

Pret_u + 10000

FROM MATERIALE;

Aceasta comanda adauga 10000 de unitati monetare la fiecare pret unitar si genereaza urmatorul rezultat:

Deoarece capul de tabel este neconcludent, acesta se modifica prin introducerea comenzii:

SQL> SELECT Mat, Pret_u, (Pret_u + 10000) Pret_modif

FROM MATERIALE;

Se obtine:

Se pot crea noi coloane care se pot redenumi in timpul executiei. Redenumirea coloanelor se face folosind sintaxa: <nume_coloana> alias.

Minus (-), Inmultire (*), Impartire (/) se folosesc similar cu operatorul Plus(+).

Modulo (%) este un operator care returneaza restul intreg al unei impartiri. De exemplu:

Operatorul modulo nu accepta tipuri de date care contin zecimale, ca, de exemplu, tipul real sau number.

Operatorii de comparatie

Operatorii de comparatie sunt: Egal (=), Mai mare decat (>), Mai mare sau egal (>=), Mai mic decat (<), Mai mic sau egal (<=) si Inegalitate (<> sau !=).

Dupa cum arata si numele lor, operatorii de comparare compara expresiile si returneaza una din urmatoarele trei valori: TRUE (adevarat), FALSE (fals), sau UNKNOWN (necunoscut).

Pentru a intelege notiunea UNKNOWN (necunoscut), trebuie s-o asociem conceptului NULL (nul). In termenii folositi pentru baze de date, NULL semnifica absenta datelor dintr-un camp. Nu inseamna ca o coloana contine o valoare zero sau un spatiu. Un zero sau un spatiu sunt valori. NULL inseamna ca in campul respectiv nu se gaseste nimic.

Egal (=)

In clauza WHERE, semnul = este cel mai utilizat operator de comparare, care, folosit singur, devine un mod facil de selectare a unei valori din mai multe existente.

Mai mare decat (>) si Mai mare sau egal (>=).

Operatorul mai mare decat (>) actioneaza in felul urmator:

Comanda:SELECT Nr_intreg, Cod, Mat, UM, Cant, Pret_u

FROM MATERIALE (8)

WHERE Cant >1000 AND Mat='Cherestea';

In mod similar actioneaza si ceilalti operatori de comparatie: Mai mare sau egal (>=), Mai mic decat (<), Mai mic sau egal (<=) si Inegalitate (<> sau !=).

Operatorii caracter

Exista mai multi operatori caracter, dintre care se vor prezenta: LIKE, UNDERSCORE, Concatenarea.

LIKE presupune a gasi intr-o baza de date acele inregistrari care nu corespund in totalitate unui model. Forma sa este urmatoarea:

SQL> SELECT *

FROM nume baza de date

WHERE nume-camp LIKE expresie;

De multe ori, in expresia care urmeaza dupa LIKE apare semnul de modulo (%), care are rolul de caracter de inlocuire.

Exemplu:

SQL> SELECT *

FROM MATERIALE

WHERE Mat LIKE 'C%';

Executia acestei comenzi are ca efect aparitia acelor inregistrari in care Mat incepe cu litera C. De remarcat ca LIKE diferentiaza literele mari de literele mici.

UNDERSCORE. este un caracter de inlocuire doar pentru un singur caracter. Pentru tabelul MATERIALE creat anterior se va exemplifica acest operator:

SQL> SELECT *

FROM MATERIALE

WHERE Mat LIKE 'Co_';

Intr-o instructiune SELECT pot aparea mai multe semne underscore. De asemenea, se pot regasi una sau mai multe inregistrari dupa un caracter situat oriunde in sirul de caractere.

Concatenarea presupune reunirea a doua sau mai multe siruri de caractere. Pentru concatenare se foloseste simbolul // sau +.

SQL>SELECT Cod // Mat CodDenumire_material

FROM MATERIALE;

Operatorii logici

Operatorii logici sunt urmatorii: AND, OR, NOT. Operatorul AND utilizat intre doua expresii presupune ca ambele sa fie adevarate pentru ca acestea sa returneze valoarea de adevar TRUE. Daca oricare dintre expresii este falsa, AND va returna valoarea FALSE. Acest operator a fost utilizat in exemplul.

Operatorul OR este utilizat pentru insumarea unei serii de conditii. Cand cel putin una dintre conditii este adevarata, OR returneaza valoarea TRUE.

Operatorul NOT - in cazul aplicarii unei conditii care are valoarea TRUE, operatorul NOT o va schimba in FALSE. In situatia in care conditia care urmeaza operatorului NOT are valoarea FALSE, ea va deveni TRUE.

Operatorii pentru multimi

Operatorii UNION si UNION ALL

UNION returneaza rezultatele a doua interogari (selectii), mai putin liniile duplicate. UNION ALL returneaza rezultatele tuturor interogarilor (selectiilor), mai putin liniile duplicate.

Operatorul INTERSECT (intersectie) returneaza numai liniile comune gasite in ambele interogari (selectii).

Operatorul MINUS (cea de DIFERENTA) returneaza liniile din prima interogare (selectie) care nu fac parte din a doua interogare (selectie).

6. Alti operatori, IN si BETWEEN

Cei doi operatori IN (in) si BETWEEN asigura folosirea unei forme scurte pentru functii diverse.

SQL> SELECT *

FROM MATERIALE

WHERE Mat IN ('Cherestea', 'Tabla');

SQL> SELECT *

FROM MATERIALE

WHERE Pret_u BETWEEN 140000 AND 170000;





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.