Sunteți pe pagina 1din 28

Gestiunea bazelor de date

relaționale

Activitate Tutorială 2
Operatori în expresii
• Aritmetici: +,-,*,/
• De comparare : =,>,<,<=,>=,<>
• Logici: And, Or, Not
• De comparare: [NOT] LIKE <expresie sir>
• De Concatenare: +, &
• Alţi operatori:
– BETWEEN expresie1 AND expresie2;
– Expresie IS [NOT ] NULL
• Operatori pentru sub-interogări: ANY, ALL,
[NOT] IN, [Not] EXISTS

2
Operatori - continuare
LIKE – permite căutarea unui şir într-un text.

Exemplu: pentru atributul NumeClient criteriul de


selecţie LIKE ‘SC %’ va determina afişarea tuturor
clienților al căror nume începe cu SC, iar
LIKE ‘%[%]%’ va determina afișarea clienților ce
conțin caracterul % în cadrul denumirii.
Simbolul % înlocuieşte un şir de caractere de orice
dimensiune.
Simbolul _ înlocuieşte un caracter numeric sau
alfanumeric.

3
Transact-SQL: funcţii predefinite
pentru data
• GetDate() – returnează data curenta,
• Month(data calendaristica) – extrage luna dintr-o
data calendaristica,
• Year(data calendaristica)- extrage anul dintr-o
data calendaristica

Microsoft Office Access 2007 4


Transact-SQL: funcţii predefinite
pentru conversia intre tipurile de date
• Convert (tip_data_rezultat, valoare_de_convertit)
Cod Format data/ora rezultat
101 mm/dd/yyyy
103 dd/mm/yyyy
108 hh:mm:ss
113 Dd mom yyyy hh:ss:ss:mmm
Transact-SQL: funcţii predefinite
Returnarea părții întregi specificată, din date
• DATEPART( interval, data_calendaristica)
Interval Semnificație Interval Semnificație Interval Semnificație
year An day Zi quarter Trimestru
month Luna week Săptămâni second Secunde
dayofyear Numar zi din an hour Ora minute Minute
Transact-SQL: funcţii predefinite
- pentru data -
• DATEDIFF ( interval, data_inceput, data_sfarsit)
Transact-SQL: funcţii predefinite
Adună numărul la ani, returnează o dată
• DateAdd(interval, numar, data)
Transact-SQL: funcţii predefinite
pentru șiruri de caractere
• Len(expresie)- returnează lungimea unui şir.
• LTrim(expresie)- elimina spaţiile de la începutul unui şir.
• RTrim(expresie)- elimina spaţiile de la sfârșitul unui şir.
• UPPER (expresie)- returnează șirul scris cu majuscule.
• LOWER (expresie)- returnează șirul scris cu litere mici.
Transact-SQL: funcţii predefinite
pentru șiruri de caractere
• LEFT (expresie, n) returnează primele n caractere de
la stânga expresiei sir de caractere.
• RIGHT (expresie, n) returnează primele n caractere
de la dreapta expresiei sir de caractere.
• SUBSTRING (expresie, start, n) returnează n
caractere, începând de la poziția start.
Transact-SQL: funcţii predefinite
pentru numere
• CEILING (numar) rotunjire la cel mai apropiat întreg
mai mare sau egal cu numărul.
• FLOOR (numar) rotunjire la cel mai apropiat întreg
mai mic sau egal cu numărul.
• ROUND (numar, precizie [, tip]) rotunjire (sau
trunchiere) în funcție de precizie
– tip=0 se face rotunjire
– tip=1 se face trunchiere
• Precizie>0 reprezintă numărul de zecimale la care se face
rotunjirea sau trunchierea
• Precizie<0 reprezintă numărul de cifre de la stânga separatorului
zecimal (unități, zeci,sute, etc.) la care se face rotunjirea.
Transact-SQL: funcţii predefinite
pentru numere
Transact-SQL: funcţii predefinite
funcții agregat
• AVG
• MIN
• MAX
• SUM
• COUNT
Transact-SQL: funcţii predefinite
funcții de clasificare
• ROW_NUMBER() OVER (<order_by_clause>)
Atribuie un număr de ordine fiecărei înregistrări
în funcție de un criteriu de ordonare specificat in
clauza OVER
Transact-SQL: funcţii predefinite
funcții de clasificare
• ROW_NUMBER() OVER ([<partition_by_clause>]
<order_by_clause>)
Transact-SQL: funcţii predefinite
funcții de clasificare și analitice
• RANK() OVER ([<partition_by_clause>]
<order_by_clause>)
Atribuie un rang fiecărei înregistrări in funcție de un criteriu
de ordonare specificat in clauza OVER
Înregistrările cu aceeași valori pentru câmpul după care se
face ordonarea vor avea același rang.
Transact-SQL: funcţii predefinite
funcții de clasificare și analitice
Transact-SQL: funcţii predefinite
funcții de clasificare și analitice
• DENSE_RANK() OVER ([<partition_by_clause>]
<order_by_clause>)
Atribuie un rang fiecărei înregistrări in funcție de un criteriu de
ordonare specificat in clauza OVER
Înregistrările cu aceeași valori pentru câmpul după care se face
ordonarea vor avea același rang.
Spre deosebire de RANK va continua numerotarea rangurilor
ulterioare celor care conțin mai multe înregistrări.
Transact-SQL: funcţii predefinite
funcții de clasificare și analitice
• NTILE(N) OVER (<order_by_clause>)
Permite distribuirea înregistrărilor dintr-un set de
rezultate pe N intervale in funcție de un criteriu
de ordonare specificat in clauza OVER
Transact-SQL: funcţii predefinite
- alte funcții
• ISNULL (expresie, valoare_de_înlocuit)
• ISDATE(expresie)
• ISNUMERIC(expresie)
Transact-SQL: CASE
• CASE evaluează o listă de condiții și returnează
un rezultat.

CASE
WHEN expresie_logica1 THEN expresie_rezultat
[ WHEN expresie_logica1 THEN expresie_rezultat
]
[ ELSE expresie_rezultat ]
END
Transact-SQL: CASE
Pentru fiecare produs vândut se va acorda un număr de puncte de
fidelitate în funcție de valoarea acestuia astfel:
• Dacă valoarea acestuia este mai mare de 150 se acordă 5 puncte
• Altfel se acordă 0 puncte.
SQL Server Management Studio
VIEW
Buton ce permite
execuția cererii (view)

Tabelele și legăturile
dintre acestea

Grila prelucrare view

Secventa Transact SQL

Rezultatul execuției
cererii
SQL Server Management Studio
VIEW - salvare
Proceduri stocate
• O procedură stocată este un pachet de instrucţiuni SQL
memorat pe server şi compilat la utilizare.

Avantaje:
• Facilitează actualizarea datelor prin faptul că permit ca
toate aplicaţiile ce modifică datele să acţioneze în acelaşi
mod;
• Acceptă definirea de parametri şi astfel permit executarea
aceloraşi instrucţiuni SQL cu seturi diferite de parametri;
• Utilizarea procedurilor stocate permite diminuarea fluxului
de date în reţea micşorând secvenţele de cod SQL ce sunt
transmise serverului;
• Deoarece planurile de execuţie sunt păstrate de server,
performanţele aplicaţiilor pot fi îmbunătăţite în mod
semnificativ.
Proceduri stocate
Etape:
• Crearea procedurii (prin intermediul comenzii
CREATE PROCEDURE)
• Executarea de către utilizator (prin intermediul
unei comenzi EXEC)
• Compilarea (în timpul unei comenzi EXEC serverul
va compila şi optimiza procedura)
• Executarea de către server (conform planului de
execuţie compilat al procedurii)
Proceduri stocate

• Creare:
CREATE PROCEDURE nume_procedura AS
instrucţiuni_SQL
• Modificare:
ALTER PROCEDURE nume_procedura AS
instrucţiuni_SQL

S-ar putea să vă placă și