Documente Academic
Documente Profesional
Documente Cultură
BAZE DE DATE
2
Limbajul SQL-Oracle
Interogarea datelor
3
Limbajul SQL-Oracle
Precedenţa operatorilor
Operator
*, /, -,+
= , >= , > , <= , < , <> , != , IS , LIKE , IN
BETWEEN
NOT
AND
|| , OR
4
Limbajul SQL-Oracle
Interogarea datelor
6
Limbajul SQL-Oracle
Interogarea datelor
7
Limbajul SQL-Oracle
Interogarea datelor
8
Limbajul SQL-Oracle
Interogarea datelor
Tabela DUAL
tabelă existentă în orice BD Oracle
are o singură coloană: DUMMY de tip VARCHAR2(1)
are o singură linie, conţinând valoarea x
utilizată pentru testarea unor comenzi SELECT care nu fac referiri
neapărat la o tabelă dintr-o BD
SELECT SYSDATE
FROM dual;
9
Limbajul SQL-Oracle
Funcţii SQL
Funcţii SQL care manipulează şiruri de caractere
Sintaxă Rezultat
UPPER (s) / LOWER (s) şir de caractere
SUBSTR('ORACLEDATABASE',1,3) SUBSTR('ORACLEDATABASE',-8,4)
---------------------------- -----------------------------
ora data
11
Limbajul SQL-Oracle
Funcţii SQL
TRIM(BOTH'*'FROM'**ORACLE****' LENGTH('ORACLE')
------------------------------ ----------------
Oracle 6
INSTR('ORACLEDATABASE','A',1,3
------------------------------
11
12
Limbajul SQL-Oracle
Funcţii SQL
REPLACE('ORACLEDATABASE','A') REPLACE('ORACLEDATABASE','A','
----------------------------- ------------------------------
orcle dtbse or*cle d*t*b*se
13
Ce afişează comanda următoare?
14
Limbajul SQL-Oracle
Funcţii SQL
Funcţii SQL care utilizeaza valori numerice
Sintaxă Rezultat
ROUND (n,i) număr
SQRT(n) număr
ABS(n) număr
POWER(n,m) număr
15
Limbajul SQL-Oracle
Funcţii SQL
16
Limbajul SQL-Oracle
Funcţii SQL
Funcţii SQL care utilizeaza date calendaristice
Sintaxă Rezultat
SYSDATE dată calendaristică
TRUNC(SYSDATE,'MM') TRUNC(SYSDATE,'YY')
------------------- -------------------
01.11.2013 01.01.2013
EXTRACT(YEARFROMSYSDATE)
------------------------
2013
18
Limbajul SQL-Oracle
Funcţii SQL
SELECT ADD_MONTHS(SYSDATE,4),
MONTHS_BETWEEN(ADD_MONTHS(SYSDATE,4),SYSDATE)
FROM dual;
ADD_MONTHS(SYSDATE,4) MONTHS_BETWEEN(ADD_MONTHS(SYSD
--------------------- ------------------------------
21.03.2014 02:19:10 4
19
Limbajul SQL-Oracle
Funcţii SQL
Sintaxă
NVL (e1,e2)
NULLIF (e1,e2)
DECODE (e,expresii_de_căutare,d)
CASE expr WHEN cond THEN rez ... ELSE rez END
20
Limbajul SQL-Oracle
Funcţii SQL
21
Limbajul SQL-Oracle
Funcţii SQL
22
Limbajul SQL-Oracle
Funcţii SQL
23
Limbajul SQL-Oracle
Funcţii SQL
SELECT denumire_produs,pret_lista,
CASE
WHEN pret_lista < 100 THEN 'pret mic '
WHEN pret_lista BETWEEN 100 AND 200 THEN 'pret mediu '
ELSE 'pret mare'
END Calificativ
FROM produse;
24
Limbajul SQL-Oracle
Funcţii SQL
25
Limbajul SQL-Oracle
Funcţii SQL
26
Limbajul SQL-Oracle
Funcţii SQL
Funcţii SQL de conversie între tipuri de date
Sintaxă
TO_NUMBER(s,format)
TO_CHAR (n,format)
TO_CHAR (d,format)
TO_DATE (s,format)
TO_TIMESTAMP (s,format)
27
Limbajul SQL-Oracle
Funcţii SQL
TO_NUMBER('$17,000.23','$999,99.99')
------------------------------------
17000,23
TO_CHAR(198,'$999,999.99')
--------------------------
$198.00
28
Limbajul SQL-Oracle
Funcţii SQL
TO_CHAR(SYSDATE,'DAY,DDMONTHYYYY')
----------------------------------
JOI , 21 NOIEMBRIE 2013
TO_CHAR(SYSDATE,'DD-MON-YYYYHH
------------------------------
21-NOI-2013 01:11:02
29
Limbajul SQL-Oracle
Funcţii SQL
SELECT TO_DATE('23-10-2010','DD-MM-YYYY')
FROM dual;
TO_DATE('23-10-2010','DD-MM-YY’)
---------------------------------
23.10.2010
30
Limbajul SQL-Oracle
Funcţii SQL
Funcţii SQL de grup
Sintaxă
COUNT(e)
SUM(e)
MIN(e)
MAX(e)
AVG(e)
31
Limbajul SQL-Oracle
Funcţii SQL
COUNT(*) COUNT(ID_ANGAJAT)
---------- -----------------
107 107
COUNT(COMISION)
COUNT(distinct COMISION)
---------------
---------------
35
7
32
Rezolvaţi!
Afişaţi pentru fiecare angajat identificat prin nume numărul total
de comenzi intermediate, precum şi valoarea acestora.
33
CURSUL 9...