SQL - Baze de Date

Trimis la data: 2009-03-10
Materia: Automatica
Nivel: Facultate
Pagini: 49
Nota: 9.45 / 10
Downloads: 5
Autor: Angela
Dimensiune: 66kb
Voturi: 1
Tipul fisierelor: doc
Acorda si tu o nota acestui curs:
Curs despre SQL - Baze de Date
In acest capitol vor fi prezentate pe larg comanda de interogare a datelor SELECT, comenzile de manipulare a datelor INSERT, UPDATE, DELETE, precum si comanda TRUNCATE.
Comanda SELECT
Interogarea datelor stocate in baza de date este considerata cea mai importanta facilitate a unui SGBD. In SQL ea se realizeaza prin intermediul comenzii SELECT. Comanda SELECT este folosita doar pentru interogarea datelor, ea neputandu-le modifica. Asa cum am vazut mai inainte, comanda SELECT implementeaza toti operatorii algebrei relationale. O instructiune SELECT cuprinde in mod obligatoriu cuvantul cheie FROM. Cu alte cuvinte, sintaxa minimala pentru comanda SELECT este:
SELECT atribute
FROM obiect
Curs despre SQL - Baze de Date
Dupa cuvantul cheie SELECT se specifica lista atributelor ce urmeaza a fi returnate ca rezultat al interogarii, iar dupa cuvantul FROM se precizeaza obiectele (tabele, vederi, sinonime) din care se vor selecta aceste atribute.

5.1.1. Atributele comenzii SELECT
In lista de atribute pot aparea:
toate coloanele din tabel sau vedere (in ordinea in care au fost definite in comanda CREATE TABLE/CREATE VIEW) prin utilizarea semnului *:
SQL> SELECT *
FROM profesor;

5.1.2. Operatori aritmetici
Operatorii aritmetici pot fi folositi pentru a crea expresii avand tipul de date numeric sau date calendaristice. Operatorii aritmetici sunt + (adunare), - (scadere ), * (inmultire), / (impartire). Ordinea de precedenta a operatorilor poate fi schimbata cu ajutorul parantezelor. De exemplu daca in tabela profesor ne intereseaza sa calculam impozitul aferent salariilor, stiind ca acesta este de 38%, putem scrie urmatoarea interogare:

SQL> SELECT nume, salariu, salariu*0.38
FROM profesor;

5.1.3. Aliasuri de coloane
Pentru exemplul anterior observam ca in momentul afisarii rezultatelor, se mai utilizeaza numele coloanelor ca antet. Cand acest lucru poate face dificila intelegerea rezultatelor, se poate schimba antetul prin atribuirea altor nume coloanelor (numite 'alias'-uri ale coloanei). Acest lucru se realizeaza specificand alias-ul dupa numele coloanei. In cazul in care alias-ul contine spatii sau caractere speciale cum ar fi + sau -, acesta se va specifica intre ghilimele.

In exemplul de mai jos alias-ul "DATA NASTERE" contine spatii deci este specificat intre ghilimele in timp ce alias-ul impozit nu contine spatii sau caractere speciale deci nu trebuie specificai obligatoriu intre ghilimele.
SQL> SELECT nume, data_nast "DATA NASTERE", salariu, salariu*0.38 impozit
FROM profesor;

5.1.4. Operatorul de concatenare
Operatorul de concatenare, notat | |, permite legarea coloanelor cu alte coloane, expresii aritmetice sau valori constante pentru a crea o expresie de tip sir de caractere. De exemplu, pentru a combina codul, numele si prenumele unui profesor, separate printr-un spatiu, se foloseste urmatoarea interogare:

SQL> SELECT cod || ' ' || nume || ' ' || prenume detalii FROM profesor;

DETALII
-------
100 GHEORGHIU STEFAN
101 MARIN VLAD
102 GEORGESCU CRISTIANA
103 IONESCU VERONlCA
104 ALBU GHEORGHE
105 VOINEA MIRCEA
106 STANESCU MARIA

5.1.5. Convertirea valorilor Null cu ajutorul functiei NVL
Daca la o inregistrare pentru o anumita coloana valoarea este necunoscuta sau neaplicabila, atunci aceasta este Null. Aceasta valoare nu trebuie confundata cu zero sau sirul de caractere format dintr-un spatiu. Asa cum am vazut in exemplele de pana acum, daca o anumita valoare este Null, nu se va afisa nimic. Pentru expresiile aritmetice, daca una dintre valorile componente este Null, atunci si rezultatul expresiei este Null. De exemplu, pentru a calcula salariul total, ce reprezinta suma dintre coloanele salariu si prima putem folosi interogarea:

SQL> SELECT nume, salariu, prima,salariu+prima "SALARIU TOTAL" FROM profesor;

Observam ca pentru acele inregistrari care au avut valoarea Null in campul "prima" expresia ce calculeaza "salariul total" returneaza tot valoarea Null.

Pentru a obtine un rezultat diferit de Null, valorile Null trebuiesc convertite intr-un numar (in cazul de fata 0) inainte de a aplica operatorul aritmetic. Aceasta convertire se poate realiza prin intermediul functiei NVL. Functia NVL are doua argumente. Daca valoarea primului argument nu este Null, atunci NVL intoarce aceasta valoare; altfel, ea intoarce valoarea celui de-al doilea argument. Cele doua argumente pot avea orice tip de date. Daca tipurile de date ale celor doua argumente difera, Oracle incerca sa converteasca, al doilea argument la tipul de date al primului. De exemplu, pentru a putea calcula salariul total al tuturor cadrelor didactice, trebuie sa convertim valoarea Null din coloana "prima" a tabelei "professor" in valoarea 0 folosind NVL (prima, 0):

SQL> SELECT nume, salariu, prima, salariu+NVL(prima,0)"SALARIU TOTAL" FROM profesor;
Home | Termeni si conditii | Politica de confidentialitate | Cookies | Help (F.A.Q.) | Contact | Publicitate
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.