Documente Academic
Documente Profesional
Documente Cultură
Expresii SQL
EXPRESII SQL
1. Compozitia unei expresii
2. Reprezentarea valorilor constante in instructiuni MySQL
3. Operatori
4. Functii SQL predefinite
EXPRESII SQL
1. Compozitia unei expresii
2. Reprezentarea valorilor constante in instructiuni
MySQL
3. Operatori
4. Functii SQL predefinite
Reprezentarea numerelor
Exercitiul 5.011
Reguli:
- In baza 10 numerele pot fi scrise astfel: 60, -25, +17;
- In hexazecimal pot fi scrise astfel:
- xvaloare Ex. xDA = 13*16+10 = 218
- Xvaloare Ex. X58 = 5*16+8 = 88
- 0xvaloare Ex. 0x2aF = 2*16*16+10*16+15 = 687
- Valoare utilizeaza cifre de la 0-9 si litere de la A la F, case
insensitive, + sau - Numerele fractionare, pot fi precedate de semn si reprezentate
astfel:
- In notatie fractionara obisnuita Ex. 43.8
- In notatie stiintifica Ex. 0.438e2 = 43.8
Tipul de date asignat constantelor in functie de
InfoAcademy SQL 2015
reprezentarea lor:
Exemplul
5.021
- Valorile de tip sir de caractere trebuie incluse intre apostroafe;
- Daca dorim ca o valoare de tip sir de caractere sa aiba un anumit
CHARSET si COLLATION vom scrie CHARSET precedat de _, urmat
de valoarea propriu-zisa si de COLLATION (Ex. _latin2 Popescu
COLLATE latin2_general_ci.
Exemplul
EXPRESII SQL
1. Compozitia unei expresii
2. Reprezentarea valorilor constante in instructiuni MySQL
3. Operatori
4. Functii SQL predefinite
Categorii de operatori
- Aritmetici, identici cu operatorii aritmetici uzuali, produc un rezultat
numeric;
- De comparare, compara valorile expresiilor (operanzi) returnand valori
de adevar (A/F)
- Logici, folositi pentru expresii compuse, returneaza o valoare de adevar
- De evaluare conditionata
- De conversie
Operatori aritmetici
Exemplul 5.041
+ adunare
- scadere
* inmultire
/ impartire poate rezulta un numar fractionar
DIV impartire intreaga returneaza catul impartirii primului
operand la al doilea
- % modulo returneaza restul impartirii primului operand la al
doilea
-
Operatori de comparare
Exemplul 5.051
Operatori logici
Exemplul 5.061
- SI logic
- OR sau ||
- SAU logic
- XOR
a) and b)
- NOT sau !
11
Exemplul
CASE expresie
WHEN expresie1 THEN valoare1
WHEN expresie1 THEN valoare1
....................
[ELSE] valoare_default
END
Exemplul 5.071
CASE
WHEN expresie1 THEN valoare1
WHEN expresie2 THEN valoare2
....................
[ELSE] valoare_default
END
InfoAcademy SQL 2015
12
Operatori de conversie
Exemplul 5.081
Exemplul 5.091
13
14
EXPRESII SQL
1. Compozitia unei expresii
2. Reprezentarea valorilor constante in instructiuni MySQL
3. Operatori
4. Functii SQL predefinite
15
Sintaxa de apelare
- Numele functiei urmat de lista argumentelor intre paranteze
rotunde:
SELECT CONCAT(nume, , prenume);
- Intre numele functiei si paranteza nu trebuie sa existe spatii.
Daca este activata optiunea IGNORE_SPACE spatiile sunt permise;
- Pot primi zero sau mai multe argumente, care trebuie sa
respecte sintaxa corespunzatoare tipului de date.
16
Functii de comparare;
Functii conditionale;
Functii matematice;
Functii pentru siruri de caractere;
Functii pentru operarea cu date de tip temporal;
Alte functii.
17
Functii de comparare
Exemplul 5.101
18
Functii matematice
Valoare absoluta
- ABS(valoare) - returneaza valoarea absoluta (modulul);
Trunchieri si rotunjiri
- CEIL(valoare) / CEILING(valoare) - returneaza cel mai apropiat
intreg mai mare sau egal cu valoarea primita ca argument;
- FLOOR(valoare) - returneaza cel mai mare intreg mai mic sau
egal cu valoarea primita ca argument;
- ROUND(valoare) - returneaza intregul cel mai apropiat de
valoarea primita ca argument, prin indepartare de 0;
- TRUNCATE(valoare, nr_zecimale) - trunchiaza valoarea
pstrnd numai numrul de zecimale cerut;
19
20
Exemplul 5.111
Functii trigonometrice
- PI() - returneaz valoarea numrului
- COS(), SIN(), TAN(), COT(), ACOS(), ASIN(), ATAN() - funciile
trigonometrice;
Generarea de numere aleatoare
- RAND() numere aleatoare intre 0 (inclusiv) si 1 (exclusiv).
Semnul unei expresii
- SIGN() - funcia matematica signum. Returneaza -1 pentru
numere negative, 1 pentru pozitive si 0 pentru numere nule;
Conversie
- CONV(numar, baza_initiala, baza_dorita) - converteste
InfoAcademy SQL 2015
21
numrul din baza de numeratie
iniiala in cea dorita(baze intre
2-
Functii conditionale
Exemplul 5.121
22
24
26
27
30
31
32
33
34
35
36
Clauza GROUP BY
- Limiteaza aplicarea functiilor de agregare la o parte din
inregistrarile tabelei;
- Poate avea ca argument una sau mai multe expresii, despartite
prin virgula;
- Se plaseaza imediat dupa clauza WHERE sau FROM, daca nu exista
WHERE si inainte de ORDER BY;
- Atentie sa nu lipseasca functia de agregare (nu se poate aplica);
- Atentie sa nu selectam si alte coloane, care sa nu poata returna o
singura valoare;
InfoAcademy SQL 2015
37
Clauza HAVING
- Conditiile din clauza WHERE sunt utilizate pentru a filtra rezultatele
obtinute cu SELECT;
- Functiile de agregare actioneaza dupa ce avem deva result-set-ul.
Clauza HAVING actioneaza direct asupra result-set-ului facand
acelasi lucru ca WHERE.
- Etapele unei interogari SELECT cu WHERE, GROUP BY SI HAVING:
- Se aplica clauza WHERE: sunt pastrate inreg care respecta
criteriile WHERE;
- Se aplica clauza GROUP BY, inregistrarile sunt grupate conform
expresiilor din aceasta clauza;
- Se aplica functiile de agregare, care vor produce cate o valoare
pentru fiecare grup creat;
- Se aplica clauza HAVING si se pastreaza inreg care corespund
InfoAcademy SQL 2015
38
criteriilor acesteia