Sunteți pe pagina 1din 4

Universitatea Liberă Internațională din Moldova

Facultatea Informatică, Inginerie, Design


Catedra Tehnologii informaționale și Calculatoare
Disciplina: Baze de Date (SQL)

Lucrare de laborator Nr.6

Tema : crearea interogărilor și gruparea lor

A efectuat student gr.TIR-26 Guminiuc Victor

A verificat profesor Mititelu Vitalii

Chișinău 2018
1. Scopul lucrarii
Crearea interogărilor și gruparea lor

2. Sarcina

1. Afișați pe ecran cel mai mare, cel mic, suma și valoarea medie a salariului tuturor angajaților. Numiți
aceste câmpuri Maxim, Minim, Sumă și Medie respectiv. Rotunjiți rezultatul până la cel mai apropiat
număr întreg.
2. Modificați interogarea precedentă astfel, încât să arate cel mai mare, cel mic, suma și valoarea medie a
salariului pentru fiecare funcție.
3. Scrieți o interogare care afișează pe ecran numărul de angajați cu același serviciu.
4. Calculați numărul managerilor întreprinderii, fără a-i afișa pe ei însăși. Numiți acest câmp Număr de
Manageri. Notă: folosiți câmpul Man_ID pentru a determina numărul de manageri.
5. Scrieți o interogare care afișează pe ecran diferența dintre cel mai mare și cel mai mic salariu. Numiți
această coloană Diferență.
6. Scrieți o interogare care afișează pe ecran numărul managerului și salariul angajatului cl mai rău plătit al
acestui manager. Excludeți angajații, managerul cărora nu este cunoscut. Excludeți toate înregistrările, la
care salariul minimal este 6000 sau mai puțin. Sortați datele descrescător după salariu.
7. Scrieți o interogare care afișează pe ecran denumirea departamentului, Loc_ID, numărul de angajați și
salariul mediu pentru toți angajații acestui departament. Numiți aceste câmpuri Nume, Locație, Număr de
Persoane și Salariu respectiv. Rotunjiți salariul mediu până la două cifre după virgulă.
8. Scrieți o interogare care afișează pe ecran numărul general de angajați, precum și numărul de angajați
primiți la serviciu în 2005, 2006, 2007 și 2008. Numiți aceste câmpuri TOTAL, 2005, 2006, 2007 și 2008
respectiv.
9. Scrieți o interogare matriceală, care afișează pe ecran funcția și salariul acestei funcții, bazat pe numărul
departamentului și salariul total al acestei funcții pentru departamentele 10, 20, 40 și 50. Numiți aceste
câmpuri Funcție, Dept 10, Dept 20, Dept 40, Dept 50 și Total (această coloană este suma tuturor datelor
din baza noastră de date, nu doar a precedentelor patru coloane) respectiv. Exemplu de rezultat:

Funcție Dept 10 Dept 20 Dept 40 Dept 50 Total


AD_PRES 15000 15000
ST_MAN 12000 13000 6000 31000
IT_PROG 9500 10300 35600
SA_REP 8000 8000
ST_CLERK 16300

3. Teorie
Exista doua tipuri de functii in SQL. Functii care manipuleaza un singur rand (single-row) si functii care manipuleaza un grup de
randuri (multiple-row). Functiile single-row sunt: Functii pentru tipul caracter, Functii pentru tipul numeric ,Functii pentru data
calendaristica, Functii de conversie dintr-un tip de data in altul ,Functii generate : NVL.

Functii pentru tipul caracter

Functii de conversie:
 LOWER ( column/expresie)-converteste la litere mici o valoare alfanumerica
 UPPER (column/expresie)- converteste la litera mare
 INITCAP (column/expresie) - converteste prima litera mare restul mici
 CONCAT(column/expresie, column/expresie)- concateneaza doua coloane
 SUBSTR (column/expresie, m [,n]) – returneaza caractere din sir incepand de la pozitia m, n caractere. Daca n este
omis va returna incepand de la m pana la sfarsitul sirului.
 LENGTH (column/expresie) – returneaza numarul de caractere.
 INSTR (column/expresie, m) – returneaza pozitia caracterului specificat in sirul dat de expresie

Functii pentru date numerice


 ROUND - rotunjeste o valoare , specificata zecimal.
 TRUNC - truncheaza o valoare specificata zecimal.
 MOD - returneaza restul impartirii a doua numere.
 ABS(n) Valoarea absoluta a lui "n".
 AVG(col) Valoarea mijlocie (medie) a coloanei specificate.
 CEILING(n) Urmatorul cel mai mare numar intreag dupa "n".
 FLOOR(n) Valoarea intreaga a lui "n".
 FORMAT(n1, n2) "n1" formatat ca un numar cu "n2" zecimale si cu virgula la fiecare 3 spatii.
 MIN(col) Valoarea minima din coloana specificata.
 MAX(col) Valoarea maxima din coloana specificata.
 MOD(n1, n2) Resultatul impartirii lui "n1" la "n2". La fel ca si expresia cu simbolul procent (n1%n2)
 POW(n1, n2) "n1" la puterea "n2"
 RAND() Un numar aleatoriu intre 0 si 1.0
 ROUND(n1, n2) "n1" rotunjit la "n2" zecimale.
 SQRT(n) Radical din "n".
 SUM(col) Suma valorilor din coloana specificata.

Functii pentru Data si Ora


 HOUR(dt) Ora din "dt".
 MINUTE(dt) Minutul din "dt".
 SECOND(dt) Secundele din "dt".
 DAYNAME(dt) Numele zilei din saptaana a datei din "dt".
 DAYOFMONTH(dt) Numarul zilei din luna a datei din "dt".
 MONTHNAME(dt) Numele lunii din an a datei din "dt".
 MONTH(dt) Valoarea numerica a lunii din an, a datei din "dt".
 CURDATE() Data curenta.

4. Mersul lucrarii

ex.1

ex.2

ex.3
ex.4

ex.5

ex.6

ex.7

ex.8

ex.9

5. Concluzii
În decursul efectuării lucrării de laborator nr 6 am folosit functii de manipulare a datelor de tip numeric si dată si clauza group
pentru compactarea datelor.

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