O interogare SQL este o interogare pe care o creați cu ajutorul unei instrucțiuni SQL (şir de caractere/instrucţiune SQL: O expresie care defineşte o comandă SQL, cum ar fi SELECT, UPDATE sau DELETE, conţinând clauze cum ar fi WHERE sau ORDER BY. Şirurile de caractere/instrucţiunile SQL se utilizează de obicei în interogări şi în funcţiile agregate.). Aveți posibilitatea de a utiliza Structured Query Language (SQL) pentru a interoga, actualiza și gestiona baze de date relaționale, cum ar fi Microsoft Access.
Atunci când creați o interogare în Vizualizare proiect (Vizualizare proiect: O fereastră care afişează proiectul următoarelor obiecte bază de date: tabele, interogări, 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 construiește în fundal instrucțiunile SQL echivalente. de fapt, multe proprietăți ale interogării din foaia de proprietăți în modul Vizualizare proiect au clauze și opțiuni echivalente, vizibile în modul Vizualizare SQL (Vizualizare SQL: O fereastră care afişează instrucţiunea SQL pentru interogarea curentă sau care se utilizează pentru crearea unei interogări specifice SQL (de uniune, directă sau de definiţie date). Când se creează o interogare în Vizualizare proiect, Access construieşte echivalentul său SQL în Vizualizare SQL.). Dacă doriți, aveți posibilitatea să vizualizați sau să editați instrucțiunea SQL în Vizualizare SQL. Însă, după ce efectuați modificări în Vizualizare SQL, este posibil ca interogarea să nu arate așa cum arăta anterior, în Vizualizare proiect.
Unele interogări SQL, denumite interogări specifice SQL (interogare specifică SQL: Interogare care constă dintr-o instrucţiune SQL. Subinterogările şi interogările directe, de uniune şi de definiţie date sunt interogări specifice SQL.), nu pot fi create în grila de proiect (grilă de proiect: Grilă utilizată pentru proiectarea unei interogări sau filtru în vizualizare proiect sau în fereastra Filtrare/sortare complexă. Pentru interogări, această grilă a fost anterior cunoscută ca grilă QBE.). Pentru interogările directe (interogare directă: Interogare SQL utilizată pentru trimiterea de comenzi direct unui server de baze de date ODBC. Prin utilizarea interogărilor directe, se operează direct cu tabelele de pe server, fără a lăsa motorul bază de date Microsoft Jet să prelucreze datele.), de definiție date (interogare de definiţie date: O interogare de tip SQL care conţine instrucţiuni în limbajul de definire a datelor (DDL). Aceste instrucţiuni 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 interogări de selecţie.), este necesar să creați instrucțiunile SQL direct în Vizualizare SQL. Pentru subinterogări subinterogare: O instrucţiune SQL SELECT care se află în interiorul altei interogări de selectare sau de acţiune., se introduce codul SQL în rândul Câmp sau Criteriu al grilei de proiect a interogării.
Unde se utilizează instrucțiunile SQL
Aveți posibilitatea de a utiliza instrucțiuni SQL în multe locuri din Access, acolo unde se introduce numele unui tabel, al unei interogări sau al unui câmp.
În unele cazuri, Access completează automat instrucțiunea SQL. De exemplu, atunci când utilizați un expert pentru a crea un formular sau raport care preia date din mai multe tabele, Access creează automat o instrucțiune SQL pe care o utilizează ca setare pentru proprietatea Sursă înregistrări a formularului sau raportului. Atunci când creați o casetă listă sau combo cu un expert, Access creează o instrucțiune SQL și o utilizează ca setare pentru proprietatea Sursă înregistrări a casetei listă sau a casetei combo.
Fără a utiliza expertul, aveți posibilitatea să generați o instrucțiune SQL pentru proprietățile Sursă înregistrări sau Sursă rânduri făcând clic pe butonul Generare alăturat oricărei dintre aceste proprietăți și apoi creând o interogare în Vizualizare proiect pentru interogare.
De asemenea, aveți posibilitatea să utilizați instrucțiuni SQL programate în:
-
Argumentul Instrucțiune SQL al acțiunii de macrocomandă ExecuțieSQL.
-
În cod ca șir de caractere literale sau ca instrucțiune SQL care conține variabile și controale (control: Un obiect grafic al interfeţei 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 afişa date sau opţiuni, a executa o acţiune sau a face interfaţa cu utilizatorul mai uşor de citit.).
-
Proprietatea SQL a unui obiect QueryDef pentru a modifica instrucțiunea SQL subordonată unei interogări.
Utilizarea de expresii în SQL
Aveți posibilitatea să introduceți o expresie într-o instrucțiune SQL SELECT sau în clauzele WHERE, ORDER BY, GROUP BY sau HAVING. De asemenea, aveți posibilitatea să introduceți o expresie SQL în unele argumente (comutator: O valoare care furnizează informaţii unei acţiuni, unui eveniment, unei metode, proprietăţi, funcţii sau proceduri.) și setări de proprietăți (proprietate: Un atribut numit al unui control, al unui câmp, sau al unui obiect setat pentru a se defini una din caracteristicile obiectului (cum ar fi mărime, culoare sau poziţia pe ecran) sau un aspect al comportamentului său (cum ar fi dacă obiectul este ascuns).). De exemplu, aveți posibilitatea să utilizați o expresie SQL ca:
-
Argumentul Condiție Where al acțiunilor DeschidereFormular sau AplicareFiltru.
-
Argumente de domeniu sau de criteriu într-o funcție agregată de domeniu (funcţie agregată de domeniu: O funcţie, cum ar fi DAvg sau DMax, care se utilizează pentru a calcula statistici pentru un set de înregistrări (un domeniu).).
-
Setare pentru proprietățile Sursă înregistrări sau Sursă rânduri din formulare sau rapoarte.
Interogările specifice SQL
Interogările de uniune
O interogare de uniune combină câmpuri din două sau mai multe tabele într-un singur câmp în rezultatele interogării. O interogare de uniune se poate utiliza pentru a combina date din două tabele. De exemplu, combinați numele companiei și orașul pentru toate firmele din Brazilia care sunt listate în tabelele Furnizori și Clienți. Apoi, aveți posibilitatea să creați o interogare de tip creare tabel bazată pe interogarea de uniune pentru a crea un nou tabel.
Prima instrucțiune SELECT returnează două câmpuri...
... cea de-a doua instrucțiune SELECT returnează două câmpuri corespondente, iar apoi ...
... combină valorile din câmpurile corespondente ale ambelor tabele într-un singur câmp.
Interogările directe
O interogare directă transmite comenzile direct către 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, utilizând comenzi acceptate de server. De exemplu, aveți posibilitatea să utilizați o interogare directă pentru a regăsi înregistrări sau pentru a modifica date. Cu ajutorul interogărilor directe, lucrați direct cu tabelele din server în loc de a le lega (legare (pentru tabele): O acţiune care stabileşte o conexiune la datele din altă aplicaţie, astfel încât să fie posibilă vizualizarea şi editarea datelor, atât în aplicaţia iniţială cât şi în Access.). Interogările directe mai sunt utile și pentru executarea de proceduri stocate (procedură stocată: Colecţie precompilată de instrucţiuni SQL şi de instrucţiuni de control depozitate sub un nume şi procesate unitar. Colecţia este păstrată într-o bază de date SQL şi se execută prin intermediul unui apel dintr-o aplicaţie.) î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 obţine acces la datele exterioare.).
Interogările de definiție date
O interogare de definiție date creează, șterge sau alterează tabele, sau creează indexuri într-un tabel al bazei de date. De exemplu, următoarea interogare de definiție date utilizează instrucțiunea CREATE TABLE pentru a crea un tabel denumit Prieteni. Instrucțiunea conține numele și tipul de date (tip de date: Caracteristica unui câmp care determină ce tip de date poate conţine. Tipurile de date includ Boolean, Întreg, Lung, Simbol monetar, cu simplă precizie, cu dublă precizie, Şir de caractere şi Variant (implicit).) pentru fiecare câmp din tabel și atribuie câmpului IDPrieten un index (index: Facilitate care accelerează căutarea şi sortarea într-un tabel bazat pe valori cheie şi poate impune unicitatea pentru rândurile dintr-un tabel. Cheia primară a unui tabel este automat indexată. Anumite câmpuri nu pot fi indexate datorită tipului lor de date.) care îl marchează drept cheie primară (cheie primară: Unul sau mai multe câmpuri (coloane) ale căror 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 străine din alte tabele..).
CREATE TABLE Friends
([FriendID] integer,
[LastName] text,
[FirstName] text,
[Birthdate] date,
[Phone] text,
[Notes] memo,
CONSTRAINT [Index1] PRIMARY KEY ([FriendID]));
Subinterogări
O subinterogare constă dintr-o instrucțiune SQL SELECT în interiorul unei alte interogări de selectare sau de acțiune. Aveți posibilitatea să introduceți aceste instrucțiuni în rândul Câmp al grilei de proiect (grilă de proiect: Grilă utilizată pentru proiectarea unei interogări sau filtru în vizualizare proiect sau în fereastra Filtrare/sortare complexă. Pentru interogări, această grilă a fost anterior cunoscută ca grilă QBE.) pentru interogare, pentru a defini un nou câmp, sau în rândul Criteriu pentru a defini criterii pentru un câmp. Aveți posibilitatea de a utiliza subinterogările pentru:
-
Testarea unui rezultat din subinterogare (prin intermediul cuvintelor rezervate EXISTS sau NOT EXISTS).
-
Regăsirea tuturor valorilor din interogarea principală care sunt egale cu, mai mari decât sau mai mici decât valorile returnate de subinterogare (prin intermediul cuvintelor rezervate ANY, IN sau ALL).
-
Crearea de subinterogări în cadrul subinterogărilor (subinterogări imbricate).
|