Subinterogari Subqueries in Microsoft Access

Pasul 1.

Subinterogarile reprezinta o tehnica foarte puternica prin care putem extrage informatii relevante din baza de date.

Ne propunem ca, din tabelul Clienti, sa extragem toti clientii al caror venit lunar este mai mare decat media veniturilor din acest tabel. Va trebui sa calculam aceasta medie si sa folosim valoarea calculata ca si criteriu de extragere a datelor.

Subinterogarile nu se pot executa “din prima” ci ele sunt depentente de o alta interogare.

In exemplele care urmeaza, vom utiliza limbajul SQL pentru a crea interogarile.

Ti se pare greu sa parcurgi singur lectiile video gratuite?

Inscrie-te la unul din cele 10 tipuri diferite de cursuri Access in clasa (cu instructor acreditat Microsoft)

Pasul 2.

Pornim de la baza de date cu cele trei tabele, Clienti, Produse si TRANZACTII.

Din tab-ul Create, grupul Queries, alegem optiunea Query Design. Adaugam tabelul Clienti, selectandu-l in caseta Show Table si apasand butonul Add. Inchidem apoi caseta Show Table.


Toate operatiile pe care le facem in designer-ul de interogari sunt traduse intr-un limbaj nativ al Access-ului, SQLStructured Query Language. Daca invatati acest limbaj, veti putea evita limitarile interfetei Query Design si, in acelasi timp, veti reusi sa realizati interogari foarte complexe. De exemplu, Query Design nu are suport pentru Subinterogari.

Tutoriale video interactive

Acest curs este disponibil si in format video interactiv, oferit gratuit tuturor celor care participa la cursurile noastre Access in clasa.

Pasul 3.

Intram, asadar in vizualizarea SQL View, apasand click-dreapta in zona superioara din Query Design sau alegand aceasta vizualizare din lista derulanta View.


In fereastra SQL View, scriem expresia de calcul pentru media veniturilor:

                SELECT Avg(Venit_Lunar) AS Media

FROM Clienti;

Apasand butonul Run, va aparea, in vederea Datasheet View, valoarea calculata a mediei.


Ai intrebari tehnice legate de Access si vrei sa te ajutam?

Detinem cea mai mare comunitate Access din Romania (peste 11.000 membri activi), unde primesti suport gratuit la problemele tale Access

Pasul 4.

Revenim in vizualizarea SQL View si vom completa expresia scrisa astfel:

                SELECT * from Clienti

                WHERE Venit_Lunar>= (SELECT Avg(Venit_Lunar) AS Media FROM Clienti)

Vom apasa Run pentru a vedea rezultatul.

In acest caz, expresia dintre paranteze devine subinterogare (interogare rulata in interiorul unei alte interogari).


Pasul 5.

Salvam interogarea cu numele Exemplu_Subinterogare.