Documente Academic
Documente Profesional
Documente Cultură
SQL I
crearea bazelor de date i a structurilor pentru rela ii; efectuarea de opera ii elementare de gestiune a datelor, precum inserarea, modificarea i tergerea acestora din cadrul rela iilor; efectuarea interogrilor ncepnd cu cele simple pn la cele complexe, n scopul transformrii datelor brute n informa ii. opera iile se realizeaz cu un efort minim din partea utilizatorului, structura comenzilor i sintaxa acestora este relativ uor de nv at. limbajul este portabil, - respect un standard recunoscut astfel nct s se poat utiliza aceeai structur i sintax a comenzilor la trecerea de la un SGBD la altul SQL prezint dou componente principale: - un limbaj de definire a datelor (DDL) utilizat pentru definirea structurii bazei de date i - un limbaj de manipulare a datelor (DML) pentru regsirea i reactualizarea datelor.
M. Danubianu - Teoria si implementarea bazelor de date 2
SQL nu con ine comenzi de control (nu exist instruc iuni de tipul IF..THEN..ELSE, GO TO, DO..WHILE sau alte comenzi care s genereze un flux de control) poate fi utilizat n dou moduri:
-
interactiv prin introducerea instruc iunilor de la un terminal; prin integrarea instruc iunilor SQL ntr-un procedural. limbaj
limbaj neprocedural. are un format liber; comenzile sunt structurate pe baza unor cuvinte standard din limba englez ( Create, Select, Insert..)
M. Danubianu - Teoria si implementarea bazelor de date 3
SELECT [ALL | DISTINCT] [*] [<alias>.]<camp> [AS <nume_nou>] [, [<alias>.]<camp> [AS <nume_nou>] ...] FROM <tabel> [<local_alias>] [, <tabel> [<local_alias>] ...] [WHERE <cond_leg> [AND <cond_leg> ...] [AND | OR <cond_filtru> [AND | OR <cond_filtru> ...]]] [GROUP BY <lista_campuri>] [HAVING <cond_filtru>] [ORDER BY <camp_ord> [ASC | DESC] [, <camp_ord> [ASC | DESC] ...]]
Interogri n SQL
Consultarea datelor dintr-un singur tabel selectate dupa diferite conditii impuse inregistrarilor
Care sunt angajatii al caror nume este King? intervine un singur tabel i anume Employees. In clauza WHERE apare predicatul de selec ie (conditia) : last_name=King
10
Care sunt angajatii subordonati managerului cu identificatorul 100 cu salarii mai mari de 2500?
11
Operatorul BETWEEN
Se poate reformula ultima interogare astfel: Care sunt angajatii
subordonati managerului cu identificatorul 100 cu salarii mai mari de 2500 dar mai mici de 10000?
Se poate folosi urmtoarea instruc iune: SELECT * FROM employees WHERE manager_id=100 AND salary>2500 AND salary <10000
sau
12
Operatorul LIKE
Se folosete pentru a compara un atribut de tip ir de caractere cu un literal (constant de tip ir de caractere). %, "_" este un specificator multiplu, joker sau masc. Care sunt angajatii al cror nume contine, in orice pozitie, incepand cu poz. 2, caracterul s?
13
Operatorul IN
Are urmtorul format general: expresie1 IN (expresie2, expresie3,..) Rezultatul evalurii unui predicat care con ine acest operator va fi "adevrat" dac valoarea expresiei1 este egal cu cel pu in una din valorile: expresie2, expresie3, .. i este util atunci cnd condi iile de selec ie sunt mai complexe. Care sunt angajatii al caror identificator de job este IT-PROG sau ST_MAN?
14
Operatorul IS NULL
Care sunt angajatii care nu primesc comision? Not: Operatorul NULL se utilizeaz cu IS i nu cu semnul "=". Utilizarea unei expresii de forma =NULL ar conduce la un rezultat care va fi ntotdeauna fals, chiar dac expresia nu este nul.
15
16
17
Diferen a
S se gseasc acele departamente pentru care nu exista nici un angajat
18
SELECT *
19
Produsul cartezian
20
21
managerului
angajatului
cu
Deoarece toate datele necesare se gasesc in tabelul employees se impune o legatura ???
22
Subconsultri
posibilitatea imbricrii a dou sau mai multe fraze SELECT astfel nct pot fi formulate interogri cu mare grad de complexitate Forma general a unei subconsultri: SELECT list_cmpuri1 FROM List_tabele1 WHERE cmp1 operator (SELECT list_cmpuri2 FROM List_tabele2 WHERE condi ii) unde operator poate fi: IN sau NOT IN EXIST sau NOT EXIST CONTAINS, ALL, ANY etc. Subconsultri : corelate sau necorelate
M. Danubianu - Teoria si implementarea bazelor de date 23
24
Care sunt angajatii care lucreaza in alte departamente decat angajatii cu numele King?
25
26