Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Sql


Qdidactic » stiinta & tehnica » informatica » sql
Functii SQL



Functii SQL


Functii SQL


a.     Functii totalizatoare sau functii de grup

COUNT – returneaza numarul inregistrarilor din tabel;

SUM – returneaza suma valorilor dintr-o coloana, acceptand argumente numerice;

AVG – calculeaza valoarea medie a unei coloane;

MAX – returneaza elementul maxim dintr-o coloana;

MIN - returneaza elementul minim dintr-o coloana;



VARIANCE – returneaza dispersia abaterilor;

STDDEV – determina abaterea sau deviatia standard a unei coloane de numere.

b.     Functii pentru data calendaristica si ora

ADD MONTHS – adauga un numar de luni la o data calendaristica specificata;

LAST DAY - intoarce ca rezultat ultima zi a unei luni specificate;

MONTHS BETWEEN – intoarce ca rezultat numarul de linii intre luna x si luna y;

NEXT TIME – rectifica ora in functie de ora teritoriului in care va aflati;

NEXT DAY – gaseste ziua urmatoare;

SYSDATE – returneaza ora si data calendaristica a sistemului.

c.      Functii aritmetice

ABS – returneaza valoarea absoluta a unui numar;

CEIL – returneaza cel mai mic numar intreg mai mare sau egal cu un argument;

FLOOR - returneaza cel mai mare numar intreg mai mic sau egal cu un argument;

COS, SIN, TAN – functii trigonometrice;

COSH, SINH, TANH - functii trigonometrice hiperbolice;

EXP – reprezinta e la o putere data, unde e 2,72;

LN si LOG – functii logaritmice;

MOD – returneaza restul impartirii a doua numere

POWER – returneaza rezultatul obtinut prin ridicarea unui numar la o putere;

SIGN – returneaza valorile:

-1 , daca numarul este negativ;

0 , daca numarul este zero;


+1 , daca numarul este negativ.

SQRT – reprezinta radicalul dintr-un numar dat.

d.     Functii caracter

CHR – returneaza caracterul echivalent cu numarul folosit ca argument;

CONCAT - lipeste doua siruri;

INITCAP – configureaza un cuvant astfel: prima litera mare, celelalte mici;

LOWER – modifica toate caracterele in litere mici;

UPPER - modifica toate caracterele in litere mari;

LPAD – completeaza un sir cu un anumit numar de caractere precizat;

LTRIM, RTRIM – sunt folosite pentru alinierea sirurilor folosind un anumit tip de caractere;

REPLACE – inlocuieste un sir incepand de la o anumita pozitie cu un alt sir;

SUBSTR – va returna o parte din sirul initial;

INSTR – se utilizeaza pentru a determina unde gasiti intr-un sir un anumit tipar;

LENGTH – va returna lungimea unui sir;

e.     Functii de conversie

TO_CHAR – converteste un numar intr-un caracter;

TO_NUMBER – converteste un sir intr-un numar.


Clauzele instructiunii SELECT


Clauza WHERE

Aceasta clauza va permite sa selectati numai anumite inregistrari pe care le doriti.

Exemplu: Presupunem ca aveti o tabela in care aveti inscrisi toti angajatii existenti in firma si doriti sa gasiti rezultatele obtinute de angajatul ce are numele de familie “IONASCU” si prenumele “GEORGE”:

SELECT * FROM angajati

WHERE nume = “IONESCU” AND prenume = “GEORGE”;


Clauza ORDER BY

Pentru ca rezultatele interogarii sa fie intr-o anumita ordine, vom folosi aceasta clauza intr-o instructiune SELECT.

Ordinea prestabilita este cea crescatoare. Pentru afisarea rezultatelor in ordine descrescatoare se va folosi termenul DESC la sfarsitul clauzei ORDER BY.

Exemplu: Pentru a ordona numele angajatilor in ordine descrescatoare, vom scrie:

SELECT * FROM angajati

ORDER BY nume, prenume DESC;


Clauza GROUP BY

Aceasta clauza executa functia totalizatoare descrisa in instructiunea SELECT pentru fiecare dintre grupurile coloanei care urmeaza clauzei GROUP BY.

Regula este sa nu folositi in instructiunea SELECT coloane care au mai multe valori pentru aceeasi valoare a coloanei utilizate in clauza GROUP BY.

Exemplu: Presupunem ca tabela angajati mai contine si campul SECTIA in care lucreaza fiecare angajat si dorim sa vedem numarul angajatilor din fiecare sectie:

SELECT sectie, COUNT(sectie) FROM angajati

GROUP BY sectie;


Clauza HAVING

Clauza HAVING da posibilitatea formularii unor conditii de selectie la nivelul grupurilor. Aceasta clauza difera de clauza WHERE prin faptul ca prima se refera la conditii impuse gruparilor, iar cea de-a doua la conditiile referitoare la inregistrarile tabelei, care vor fi incluse in grupuri.

Exemplu: Daca specificam in tabela angajati si campul SALARIU care va contine ca valori sumele primite de angajati, se cere sa se listeze sectiile care vor primi o suma de bani mai mare de 30.000.000 pentru a plati angajatii din sectia respectiva.

SELECT sectia, SUM(salariu) total

FROM angajati

GROUP BY sectia

HAVING SUM(salariu) > 30.000.000;

Se observa ca s-a folosit pentru campul SUM(salariu) aliasul TOTAL.

Observatie: Clauzele WHERE si ORDER BY sunt folosite de obicei in interogari care actioneaza asupra unor linii individuale, iar clauzele GROUP BY si HAVING se gasesc impreuna cu functii totalizatoare.

Se poate ca rezultatele unei interogari sa fie transmise ca argumente pentru o alta interogare, dupa cum se poate observa in exemplul urmator:

Exemplu: Sa se afiseze numele si functia angajatilor dintr-o firma care au aceeasi functie cu persoana care are salariul 6.000.000.

SELECT nume, functie

FROM angajati

WHERE functie IN (SELECT functia FROM angajati WHERE salariu = 6.000.000)


Jonctiuni        


Operatiile de jonctiune lipesc tabelele.

Exemplu: Fiind date tabela ANGAJAT ce contine numele, functia si vechimea angajatului si tabela PERSONAL ce contine numele, adresa si telefonul angajatilor, sa se listeze toate informatiile referitoare la angajatii unei firme din cele doua tabele.

SELECT P.nume, P.adresa, P.telefon, A.functie, A.vechime

FROM angajat A, personal P

WHERE P.nume = A.nume

ORDER BY P.nume;

Se observa ca avem campul NUME comun celor doua tabele.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright