Sunteți pe pagina 1din 7

Instruciunea SELECT Apeleaza motorul de baze de date Microsoft s returneze informaii din baza de date ca un set de nregistrri.

Sintax

SELECT [predicat] { * | tabel.* | [tabel.]cmp1 [AS alias1] [, [tabel.]cmp2 [AS alias2] [, ...]]} FROM expresietabel [, ...] [IN bazdedateextern] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] [WITH OWNERACCESS OPTION] Instruciunea SELECT are urmtoarele pri: Partea Descriere Unul dintre urmtoarele predicate: ALL, DISTINCT, DISTINCTROW sau TOP. Se utilizeaz predicatul pentru predicat a restriciona numrul de nregistrri returnate. Dac nu se specific nici un predicat, cel implicit este ALL. Specific toate cmpurile selectate din tabelul sau * tabelele specificate. Numele tabelului care conine cmpuri din care se tabel selecteaz nregistrri. Numele cmpurilor care conin datele care se regsesc. cmp1, cmp2 Dac se includ mai mult de un cmp, acestea vor fi regsite n ordinea listat. Numele care se utilizeaz ca antet de coloan n locul alias1, alias2 numelor originare ale coloanelor n tabel. Numele tabelului sau tabelelor care conin datele care expresietabel se regsesc. bazdedateextern Numele bazei de date care conine tabelele din expresietabel dac nu sunt din baza de date curent.
Comentarii

Pentru a efectua aceast operaiune, motorul de baze de date Microsoft Jet caut tabelul sau tabelele specificate, extrage coloanele alese, selecteaz rndurile care satisfac criteriile i sorteaz sau grupeaz rndurile rezultate n ordinea specificat. Instruciunile SELECT nu modific datele din baza de date. SELECT este de regul primul cuvnt dintr-o instruciune SQL . Majoritatea

instruciunilor SQL sunt fie SELECT, fie SELECT...INTO. Sintaxa minimal pentru o instruciune SELECT este: SELECT cmpuri FROM tabel Se poate utiliza un asterisc (*) pentru a selecta toate cmpurile dintr-un tabel. Urmtorul exemplu selecteaz toate cmpurile din tabelul Angajai:
SELECT * FROM Angajai;

Dac numele cmpului apare n mai mult de un tabel n clauza FROM, numele de cmp trebuie precedat de numele tabelului i de operatorul . (punct). n urmtorul exemplu, cmpul Departament apare n tabelul Angajai i n tabelul Controlori. Instruciunea SQL selecteaz departamentele din tabelul Angajai i numele controlorilor din tabelul Controlori:
SELECT Angajai.Departament, Controlori.NumeContrl FROM Angajai INNER JOIN Controlori WHERE Angajai.Departament = Controlori.Departament;

Cnd se creeaz un obiect Recordset, motorul de baze de date Microsoft Jet utilizeaz numele cmpului din tabel ca nume al obiectului Field n obiectul Recordset. Dac se dorete alt nume de cmp sau un nume care nu este implicat de expresia utilizat pentru generarea cmpului, se utilizeaz cuvntul rezervat AS. Urmtorul exemplu utilizeaz titlul DatNatere pentru a denumi obiectul Field returnat n obiectul rezultat Recordset:
SELECT NscutLa AS DatNatere FROM Angajai;

ntotdeauna cnd se utilizeaz funcii agregate sau interogri care returneaz nume de obiecte Field ambigue sau dublate, trebuie s se utilizeze clauza AS pentru a furniza un nume alternativ pentru obiectul Field. Urmtorul exemplu utilizeaz titlul Numerotare pentru a denumi obiectul Field returnat n obiectul rezultat Recordset:
SELECT COUNT(IDAngajat) AS Numerotare FROM Angajai;

Se pot utiliza celelalte clauze ntr-o instruciune SELECT pentru a restriciona mai mult i a organiza mai bine datele returnate. Pentru informaii suplimentare, consultai subiectul de Ajutor pentru clauzele utilizate.
Vezi i

Predicatele ALL DISTINCT, DISTINCTROW, TOP Instruciunea DELETE Clauza FROM Clauza GROUP BY Clauza HAVING Clauza IN

Clauza ORDER BY (Microsoft Jet SQL) Instruciunea SELECT...INTO Funcii agregate SQL Operaiunea UNION Instruciunea UPDATE Clauza WHERE

Instruciunea INSERT INTO Despre interogrile SQL (MDB)

Opiunea WITH OWNERACCESS OPTION

O interogare SQL este o interogare pe care o creai cu ajutorul unei instruciuni SQL (ir de caractere/instruciune SQL: O expresie care definete o comand SQL, cum ar fi SELECT, UPDATE sau DELETE, coninnd clauze cum ar fi WHERE sau ORDER BY. irurile de caractere/instruciunile SQL se utilizeaz de obicei n interogri i n funciile agregate.). Avei posibilitatea de a utiliza Structured Query Language (SQL) pentru a interoga, actualiza i gestiona baze de date relaionale, cum ar fi Microsoft Access. Atunci cnd creai o interogare n Vizualizare proiect (Vizualizare proiect: O fereastr care afieaz proiectul urmtoarelor obiecte baz de date: tabele, interogri, formule, rapoarte, macrocomenzi i pagini de acces la date. n Vizualizare proiect se pot crea obiecte baz de date noi i modifica proiectul celor existente.) pentru interogare, Access construiete n fundal instruciunile SQL echivalente. de fapt, multe proprieti ale interogrii din foaia de proprieti n modul Vizualizare proiect au clauze i opiuni echivalente, vizibile n modul Vizualizare SQL (Vizualizare SQL: O fereastr care afieaz instruciunea SQL pentru interogarea curent sau care se utilizeaz pentru crearea unei interogri specifice SQL (de uniune, direct sau de definiie date). Cnd se creeaz o interogare n Vizualizare proiect, Access construiete echivalentul su SQL n Vizualizare SQL.). Dac dorii, avei posibilitatea s vizualizai sau s editai instruciunea SQL n Vizualizare SQL. ns, dup ce efectuai modificri n Vizualizare SQL, este posibil ca interogarea s nu arate aa cum arta anterior, n Vizualizare proiect. Unele interogri SQL, denumite interogri specifice SQL (interogare specific SQL: Interogare care const dintr-o instruciune SQL. Subinterogrile i interogrile directe, de uniune i de definiie date sunt interogri specifice SQL.), nu pot fi create n grila de proiect (gril de proiect: Gril utilizat pentru proiectarea unei interogri sau filtru n vizualizare proiect sau n fereastra Filtrare/sortare complex. Pentru interogri, aceast gril a fost anterior cunoscut ca gril QBE.). Pentru interogrile directe (interogare direct: Interogare SQL utilizat pentru trimiterea de comenzi direct unui server de baze de date ODBC. Prin utilizarea interogrilor directe, se opereaz direct cu tabelele de pe server, fr a lsa motorul baz de date Microsoft Jet s prelucreze datele.), de definiie date (interogare de definiie date: O interogare de tip SQL care conine instruciuni n limbajul de definire a datelor (DDL). Aceste instruciuni permit crearea sau modificarea obiectelor din baza de date.) i de uniune (interogare de tip uniune: Interogare care

utilizeaz operatorul UNION pentru a combina rezultatele a dou sau mai multe interogri de selecie.), este necesar s creai instruciunile SQL direct n Vizualizare SQL. Pentru subinterogri subinterogare: O instruciune SQL SELECT care se afl n interiorul altei interogri de selectare sau de aciune., se introduce codul SQL n rndul Cmp sau Criteriu al grilei de proiect a interogrii. Unde se utilizeaz instruciunile SQL Avei posibilitatea de a utiliza instruciuni SQL n multe locuri din Access, acolo unde se introduce numele unui tabel, al unei interogri sau al unui cmp. n unele cazuri, Access completeaz automat instruciunea SQL. De exemplu, atunci cnd utilizai un expert pentru a crea un formular sau raport care preia date din mai multe tabele, Access creeaz automat o instruciune SQL pe care o utilizeaz ca setare pentru proprietatea Surs nregistrri a formularului sau raportului. Atunci cnd creai o caset list sau combo cu un expert, Access creeaz o instruciune SQL i o utilizeaz ca setare pentru proprietatea Surs nregistrri a casetei list sau a casetei combo. Fr a utiliza expertul, avei posibilitatea s generai o instruciune SQL pentru proprietile Surs nregistrri sau Surs rnduri fcnd clic pe butonul Generare alturat oricrei dintre aceste proprieti i apoi crend o interogare n Vizualizare proiect pentru interogare. De asemenea, avei posibilitatea s utilizai instruciuni SQL programate n:

Argumentul Instruciune SQL al aciunii de macrocomand ExecuieSQL. n cod ca ir de caractere literale sau ca instruciune SQL care conine variabile i controale (control: Un obiect grafic al interfeei cu utilizatorul, cum ar fi o caset text, o caset de selectare, o bar de defilare sau un buton de comand, care permit utilizatorului s controleze programul. Controalele sunt utilizate pentru a afia date sau opiuni, a executa o aciune sau a face interfaa cu utilizatorul mai uor de citit.). Proprietatea SQL a unui obiect QueryDef pentru a modifica instruciunea SQL subordonat unei interogri.

Utilizarea de expresii n SQL Avei posibilitatea s introducei o expresie ntr-o instruciune SQL SELECT sau n clauzele WHERE, ORDER BY, GROUP BY sau HAVING. De asemenea, avei posibilitatea s introducei o expresie SQL n unele argumente (comutator: O valoare care furnizeaz informaii unei aciuni,

unui eveniment, unei metode, proprieti, funcii sau proceduri.) i setri de proprieti (proprietate: Un atribut numit al unui control, al unui cmp, sau al unui obiect setat pentru a se defini una din caracteristicile obiectului (cum ar fi mrime, culoare sau poziia pe ecran) sau un aspect al comportamentului su (cum ar fi dac obiectul este ascuns).). De exemplu, avei posibilitatea s utilizai o expresie SQL ca:

Argumentul Condiie Where al aciunilor DeschidereFormular sau AplicareFiltru. Argumente de domeniu sau de criteriu ntr-o funcie agregat de domeniu (funcie agregat de domeniu: O funcie, cum ar fi DAvg sau DMax, care se utilizeaz pentru a calcula statistici pentru un set de nregistrri (un domeniu).). Setare pentru proprietile Surs nregistrri sau Surs rnduri din formulare sau rapoarte.

Interogrile specifice SQL Interogrile de uniune O interogare de uniune combin cmpuri din dou sau mai multe tabele ntr-un singur cmp n rezultatele interogrii. O interogare de uniune se poate utiliza pentru a combina date din dou tabele. De exemplu, combinai numele companiei i oraul pentru toate firmele din Brazilia care sunt listate n tabelele Furnizori i Clieni. Apoi, avei posibilitatea s creai o interogare de tip creare tabel bazat pe interogarea de uniune pentru a crea un nou tabel.

Prima instruciune SELECT returneaz dou cmpuri... ... cea de-a doua instruciune SELECT returneaz dou cmpuri corespondente, iar apoi ... ... combin valorile din cmpurile corespondente ale ambelor tabele ntr-un singur cmp. Interogrile directe O interogare direct transmite comenzile direct ctre bazele de date ODBC (baz de date ODBC: Baz de date pentru care se furnizeaz un driver ODBC (Open Database Connectivity) utilizat la importul, legarea sau exportul de date.), cum ar fi Microsoft FoxPro, utiliznd comenzi acceptate de server. De exemplu, avei posibilitatea s utilizai o interogare direct pentru a regsi nregistrri sau pentru a modifica date. Cu ajutorul interogrilor directe, lucrai direct cu tabelele din server n loc de a le lega (legare (pentru tabele): O aciune care stabilete o conexiune la datele din alt aplicaie, astfel nct s fie posibil vizualizarea i editarea datelor, att n aplicaia iniial ct i n Access.). Interogrile directe mai sunt utile i pentru executarea de proceduri stocate (procedur stocat: Colecie precompilat de instruciuni SQL i de instruciuni de control depozitate sub un nume i procesate unitar. Colecia este pstrat ntr-o baz de date SQL i se execut prin intermediul unui apel dintr-o aplicaie.) ntr-un server ODBC (Open Database Connectivity (ODBC): O metod standard de partajare a datelor ntre bazele de date i programe. Driverele ODBC utilizeaz standardul Structured Query Language (SQL) pentru a obine acces la datele exterioare.). Interogrile de definiie date O interogare de definiie date creeaz, terge sau altereaz tabele, sau creeaz indexuri ntr-un tabel al bazei de date. De exemplu, urmtoarea interogare de definiie date utilizeaz instruciunea CREATE TABLE pentru a crea un tabel denumit Prieteni. Instruciunea conine numele i tipul de date (tip de date: Caracteristica unui cmp care determin ce tip de date poate conine. Tipurile de date includ Boolean, ntreg, Lung, Simbol monetar, cu simpl precizie, cu dubl precizie, ir de caractere i Variant (implicit).) pentru fiecare cmp din tabel i atribuie cmpului IDPrieten un index (index: Facilitate care accelereaz cutarea i sortarea ntr-un tabel bazat pe valori cheie i poate impune unicitatea pentru rndurile dintr-un tabel. Cheia primar a unui tabel este automat indexat. Anumite cmpuri nu pot fi indexate datorit tipului lor de date.) care l marcheaz drept cheie primar (cheie primar: Unul sau mai multe cmpuri (coloane) ale cror valori identific n mod unic fiecare nregistrare din tabel. O cheie primar nu permite valori Null i trebuie s aib ntotdeauna un index unic. Cheia primar este utilizat pentru a corela un tabel la cheile strine din alte tabele..).

CREATE TABLE Friends ([FriendID] integer, [LastName] text, [FirstName] text, [Birthdate] date, [Phone] text, [Notes] memo, CONSTRAINT [Index1] PRIMARY KEY ([FriendID]));

Subinterogri O subinterogare const dintr-o instruciune SQL SELECT n interiorul unei alte interogri de selectare sau de aciune. Avei posibilitatea s introducei aceste instruciuni n rndul Cmp al grilei de proiect (gril de proiect: Gril utilizat pentru proiectarea unei interogri sau filtru n vizualizare proiect sau n fereastra Filtrare/sortare complex. Pentru interogri, aceast gril a fost anterior cunoscut ca gril QBE.) pentru interogare, pentru a defini un nou cmp, sau n rndul Criteriu pentru a defini criterii pentru un cmp. Avei posibilitatea de a utiliza subinterogrile pentru:

Testarea unui rezultat din subinterogare (prin intermediul cuvintelor rezervate EXISTS sau NOT EXISTS). Regsirea tuturor valorilor din interogarea principal care sunt egale cu, mai mari dect sau mai mici dect valorile returnate de subinterogare (prin intermediul cuvintelor rezervate ANY, IN sau ALL). Crearea de subinterogri n cadrul subinterogrilor (subinterogri imbricate).