Documente Academic
Documente Profesional
Documente Cultură
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Interogarea datelor
BAZE DE DATE
Limbaje relaionale pentru
definirea i manipularea datelor.
Limbajul SQL.
Comand LMD
Descriere
SELECT
Clauze n SELECT
Descriere
INSERT
WHERE condiie
UPDATE
MERGE
GROUP BY coloane_grupare
DELETE
HAVING condiie
ORDER BY coloane_ordonare
BUCURETI
2015-2016
Rezolvai!
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Precedena operatorilor
Interogarea datelor
PORT_ID
PORT_NAME
COUNTRY
CAPACITY
Operator
1
2
3
4
5
6
Galveston
San Diego
San Francisco
Los Angeles
San Juan
Grand Cayman
USA
USA
USA
USA
USA
UK
4
4
3
4
3
3
*, /, -,+
ROWNUM
BETWEEN
NOT
AND
FROM angajati;
|| , OR
SELECT *
FROM PORTS
WHERE PORT_NAME LIKE 'San%'
OR PORT_NAME LIKE 'Grand%'
AND CAPACITY = 4;
Limbajul SQL-Oracle
Rezolvai!
Interogarea datelor
Rezolvai!
Afiai primii 3 angajai cu cel mai mic salariu.
FROM angajati
ORDER BY salariul;
ROWNUM ID_ANGAJAT NUME
SALARIUL
---------- ---------- ------------------------- ---------33
132 Olson
2100,00
29
128 Markle
2200,00
.............
Rezolvai!
Afiai primii 3 angajai cu cel mai mic salariu.
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Interogarea datelor
Interogarea datelor
FROM angajati
11
12
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Interogarea datelor
Funcii SQL
Sintax
Descriere
Rezultat
ir de caractere
INITCAP (s)
ir de caractere
CONCAT (s1,s2)
ir de caractere
ir de caractere
ir de caractere
ir de caractere
LENGTH (s)
numr
numr
SUBSTR (s,poz,n)
ir de caractere
REPLACE (s1,s2,s3)
ir de caractere 14
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
SELECT
SUBSTR('oracle
database',-8,4)
FROM dual;
database',1,3),
SUBSTR('oracle
SUBSTR('ORACLEDATABASE',1,3) SUBSTR('ORACLEDATABASE',-8,4)
---------------------------- ----------------------------ora
data
15
REPLACE('ORACLEDATABASE','A') REPLACE('ORACLEDATABASE','A','
----------------------------- -----------------------------orcle dtbse
or*cle d*t*b*se
TRIM(BOTH'*'FROM'**ORACLE****' LENGTH('ORACLE')
------------------------------ ---------------Oracle
6
INSTR('ORACLEDATABASE','A',1,3
-----------------------------11
16
17
18
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
Sintax
Descriere
Rezultat
ROUND (n,i)
numr
TRUNC (n,i)
numr
MOD (n1,n2)
numr
CUPRINS
---------------------------------------Capitolul 1 ..................... pag.20
19
20
21
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
Funcii SQL
Descriere
Rezultat
SYSDATE
dat calendaristic
ROUND (d,i)
dat calendaristic
TRUNC (d,i)
dat calendaristic
NEXT_DAY (d,s)
dat calendaristic
LAST_DAY (d)
dat calendaristic
ADD_MONTHS (d,n)
dat calendaristic
MONTHS_BETWEEN (d1,d2)
numr
numr
22
SYSDATE
ROUND(SYSDATE,'MM') ROUND(SYSDATE,'YY')
----------- ------------------- ------------------18.11.2015 01.12.2015
01.01.2016
SYSDATE
NEXT_DAY(SYSDATE,'VINERI') LAST_DAY(SYSDATE)
----------- -------------------------- ----------------18.11.2015 20.11.2015
30.11.2015
TRUNC(SYSDATE,'MM') TRUNC(SYSDATE,'YY')
------------------- ------------------01.11.2015
01.01.2015
SELECT
EXTRACT
FROM dual;
EXTRACT(YEARFROMSYSDATE)
-----------------------2015
(YEAR
FROM
SYSDATE)
SELECT ADD_MONTHS(SYSDATE,4),
MONTHS_BETWEEN(ADD_MONTHS(SYSDATE,4),SYSDATE)
FROM dual;
ADD_MONTHS(SYSDATE,4) MONTHS_BETWEEN(ADD_MONTHS(SYSD
--------------------- -----------------------------18.03.2016
4
23
24
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
Funcii SQL
Descriere
NVL (e1,e2)
SELECT 14+NULL-4
NULLIF (e1,e2)
FROM dual;
DECODE (e,expresii_de_cutare,d)
CASE expr WHEN cond THEN rez ...
ELSE rez END
25
26
27
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
Funcii SQL
NUME
Venit total
------------------------- ----------King
Kochhar
...
PRET_LISTA
PRET_MIN NULLIF(PRET_LISTA,PRET_MIN)
---------- ---------- --------------------------221,00
180,00
221
73,00
73,00
299,00
244,00
299
399,00
355,00
399
DENUMIRE_PRODUS
PRET_LISTA CALIFICATIV
------------------------------------------------- ---------- ----------DIMM - 128 MB
305,00 pret mare
DIMM - 16 MB
124,00 pret mediu
DIMM - 1GB
599,00 pret mare
Battery - EL
44,00 pret mic
.......
28
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;
29
30
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
Funcii SQL
Funcii SQL de conversie ntre tipuri de date
31
Descriere
TO_CHAR (n,format)
TO_CHAR (d,format)
DENUMIRE_PRODUS
CATEGORIE
PRET_LISTA MAJORARE_PRET
--------------------- ------------------- ---------- ------------DIMM - 128 MB
hardware4
305,00
61
DIMM - 16 MB
hardware2
124,00
24,8
.......
DENUMIRE_PRODUS
CATEGORIE
PRET_LISTA MAJORARE_PRET
--------------------- ------------------- ---------- ------------DIMM - 128 MB
hardware4
305,00
61
DIMM - 16 MB
hardware2
124,00
24,8
.......
Sintax
TO_NUMBER(s,format)
TO_DATE (s,format)
TO_TIMESTAMP (s,format)
32
33
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
Funcii SQL
TO_NUMBER('$17,000.23','$999,99.99')
-----------------------------------17000,23
TO_CHAR(SYSDATE,'DAY,DDMONTHYYYY')
---------------------------------MIERCURI, 18 NOIEMBRIE 2015
TO_CHAR(1987,'$999,999.99')
-------------------------$1,987.00
TO_CHAR(SYSDATE,'DD-MON-YYYYHH
-----------------------------18-NOI-2015 01:11:02
34
SELECT TO_DATE('21-10-2010','DD-MM-YYYY')
FROM dual;
TO_DATE('21-10-2010','DD-MM-YY
-----------------------------21.10.2010
35
36
Limbajul SQL-Oracle
Limbajul SQL-Oracle
Funcii SQL
Funcii SQL
Rezolvai!
Afiai pentru fiecare angajat identificat prin nume numrul total
de comenzi intermediate, precum i valoarea acestora.
Descriere
COUNT(e)
SUM(e)
SELECT COUNT(*)
FROM angajati;
SELECT COUNT(id_angajat)
FROM angajati;
COUNT(*)
---------107
COUNT(ID_ANGAJAT)
----------------107
MIN(e)
MAX(e)
SELECT COUNT(comision)
FROM angajati;
AVG(e)
COUNT(COMISION)
--------------35
37
Rezolvare
38
39
CURSUL 9...
40