|
Cereri de selectie
O interogare (cerere) este o intrebare pe care o putem pune unui tabel sau unor tabele de baze de date.
Interogarile, in general, permit specificarea:
-campurilor de tabel care apar in interogare;
-ordinea campurilor din interogare;
-criteriile de filtrare si de sortare pentru fiecare camp din tabel.
Interogarea (cererea) permite chestionarea bazei de date, folosind diverse criterii care pot sorta, filtra si rezuma datele tabelului.
Interogarile reprezinta un instrument performant pentru analizarea si rezumarea informatiilor din baza de date.
Access ofera mai multe metode prin care te ajuta sa restrangi domeniul informatiilor pe care le cauti, inclusiv prin sortare si filtrare.
Cel mai flexibil mod de a sorta si filtra date este cererea iar cel mai important fapt este ca le poti salva si utiliza pentru a crea tabele, pentru a sterge inregistrari sau pentru a copia inregistrari intr-un alt tabel.
Cererile iti permit sa specifici:
- Campurile pe care vrei sa le vezi;
- Ordinea in care trebuie sa apara campurile;
- Criteriile de filtrare pentru fiecare camp;
- Ordinea in care vrei sa fie sortat fiecare camp.
Rezultatul unei cereri este o tabela virtuala.
CERERI DE SELECTIE
CREAREA CERERILOR DE SELECTIE
Cererile de selectie sunt obiecte Access care solicita baza de date sa raspunda anumitor intrebari formulate de utilizator.
Crearea cererilor de selectie se face in felul urmator:
Selecteaza fisa de optiuni QUERIES din fereastra DATABASE
Apasa butonul NEW, apoi selecteaza optiunea DESIGN VIEW
Adauga din caseta de dialog SHOW TABLE, in spatiul de lucru al constructorului de cereri (Queries Builder), tabelele sau cererile care stau la baza noii cereri; In cazul in care intre tabelele respective exista relatii, acestea se pastreaza si in cazul interogarilor.
- Inchide caseta de dialog SHOW TABLE; apare o macheta prin intermediul careia se poate proiecta cererea.
Nota: In situatia in care, din diverse motive, caseta de dialog SHOW TABLE nu se deschide automat, se apasa butonul SHOW TABLE .
Vei alege campurile in zona FIELD
- In zona SORT vei specifica campul (campurile) dupa care va fi sortata cererea.
- In final se apasa pe butonul VIEW de pe bara de instrumente pentru a vedea rezultatul interogarii.
Exemplu:
In cererea de mai sus am introdus campurile NUME, PRENUME (Tabela CLIENTI), CANT (Tabela OPERATII), DENMON (Tabela DenMoneda) si DENOP (Tabela DenOperatii).
Rezultatul interogarii este urmatorul:
SELECTAREA UNEI COLOANE
Etape:
Deschide o cerere in modul DESIGN
Apasa pe bara superioara a campului respectiv si campul va fi selectat.
STERGEREA UNEI COLOANE
Etape:
Selecteaza coloana;
Apasa tasta DELETE
MUTAREA UNEI COLOANE
Etape:
Selecteaza coloana;
Cu indicatorul mouse-ului pozitionat in selectorul de coloane trage coloana in locul dorit.
INSERAREA UNEI COLOANE
Etape:
Selecteaza coloana;
Din meniul INSERT alege optiunea COLUMNS
AFISAREA PROPRIETATILOR UNUI CAMP DIN CERERE
Etape:
Selecteaza coloana;
Apasa butonul PROPERTIES aflat pe bara de instrumente. Pe ecran va fi afisata caseta PROPERTIES
ExeMPle
Exemplul 1 - cerere pentru afisarea salariatilor care nu sunt sefi.
Utilizeaza baza de date PERSONAL (tabela SALARIATI).
Proiectarea cererii arata astfel:
Nota: 1. Primul camp al cererii este un camp calculat avand numele "NUME SI PRENUME"; valoarea unui astfel de camp este data de o expresie (concatenarea prenumelui cu numele).
Nota: 2. Campurile calculate sunt neactualizabile, adica nu se pot face modificari in interiorul acestora, modificari care sa se reflecte si in tabelele ce compun cererea respectiva.
Nota: 3. Campul SEF este trecut in cerere numai pentru a fi pusa conditia de filtrare (FALSE) asupra lui; nefiind bifat in linia SHOW, nu este prezent in rezultatul cererii.
Rezultatul cererii este:
Exemplul 2 - cerere de selectie cu sortare dupa doua campuri.
Utilizeaza baza de date PERSONAL (tabela SALARIATI).
Imi propun o afisare a salariatilor sortati dupa functie si, in cadrul aceleiasi functii, dupa nume insa ordinea de afisare sa fie mai intai numele si apoi functia.
Proiectarea cererii arata astfel:
Nota: S-a utilizat campul nume de doua ori, a doua oara acesta nefiind afisat.
Rezultatul cererii este urmatorul:
Exercitiul 3 - cerere de selectie cu utilizarea optiunii "OR".
Vei utiliza baza de date PERSONAL (tabela SALARIATI).
Vor fi afisati doar angajatii care au functia de inginer sau medic din tabela SALARIATI iar sortarea sa se faca ascendent dupa campul NUME.
Proiectarea cererii arata astfel:
Rezultatul cererii este urmatorul:
Exemplul 4 - cerere de selectie cu utilizarea unei anumite conditii.
Vei utiliza baza de date PERSONAL (tabela SALARIATI).
Vor fi afisati doar angajatii care au salariul "mai mare sau egal" cu 4.000.000 lei.
Ordonarea se va face ascendent dupa campul MARCA.
Proiectarea cererii arata astfel:
Rezultatul cererii este urmatorul:
Exemplul 5 - cerere de selectie cu utilizarea unui camp calculat.
Vei utiliza baza de date PERSONAL (tabela SALARIATI).
In tabela SALARIATI se va introduce un camp AVANS (Numeric - Long Integer) dupa campul SALARIUL si se va completa cu valori.
Vom incerca sa calculam prin intermediul unei cereri lichidarea care i se cuvine salariatului dupa formula: LICHIDARE=SALARIUL-AVANS. Sortarea se va face dupa campul MARCA ascendent.
Proiectarea cererii arata astfel:
Rezultatul cererii este urmatorul:
In cel de-al doilea exemplu vom incerca sa indexam salariul cu 20%.
Proiectarea cererii arata astfel:
Rezultatul cererii este urmatorul:
CERERE DE SELECTIE FOLOSIND FUNCTII DE AGREGARE
Cu functiile de agregare putem obtine diverse statistici pe valori de campuri.
Principalele functii de agregare sunt:
SUM - suma
AVG - medie
MIN - minimul
MAX - maximul
FIRST - prima inregistrare
LAST - ultima inregistrare
In exemplul de mai jos vom calcula suma, media, minimul si maximul tuturor salariatilor care nu sunt sefi.
Proiectarea cererii arata astfel:
Rezultatul cererii este urmatorul:
CERERE DE SELECTIE FOLOSIND FUNCTII DE AGREGARE PE GRUPURI DE INREGISTRARI
In exemplul urmator vom incerca sa obtinem anumite date statistice referitoare la inregistrari grupate dupa campul FUNCTIA care nu sunt sefi.
Proiectarea cererii arata astfel:
Rezultatul cererii este urmatorul:
Observatie:
Dupa cum observi s-a folosit functia GROUP BY pentru gruparea valorilor in campul FUNCTIA.
Poti sa specifici si grupurile pe care vrei sa le afisezi astfel:
Iar rezultatul va fi urmatorul:
CERERE DE SELECTIE PARAMETRICE
Cererile de selectie parametrice sunt cereri in care conditia se poate schimba de la o executie la alta.
In conditie pot fi introduse campuri inexistente pentru care sistemul cere valori.
In cererea de mai jos se pot selecta salariatii de o anumita functie.
In momentul rularii cererii, pe ecran apare o fereastra prin intermediul careia ti se cere sa introduci parametrul dorit (in cazul nostru FUNCTIA).
Apesi OK si rezultatul executiei cererii este: