Editarea instrucțiunilor SQL pentru a îmbunătăți rezultatele interogării

Editarea instrucțiunilor SQL pentru a îmbunătăți rezultatele interogării

Important : Acest articol este tradus automat, consultați exonerarea de răspundere. Versiunea în limba engleză a acestui articol se poate găsi aici pentru referință.

Dacă interogările dvs. nu funcționează suficient de bine, adăugarea a câteva declarații SQL de bază vă poate ajuta să vă concentrați asupra rezultatelor. Să vedem câteva tipuri de instrucțiuni SQL și clauzele sau părțile pe care le puteți edita pentru a obține rezultatele pe care le doriți.

Notă :  Acest articol nu se aplică pentru aplicațiile web Access, tipul de bază de date pe care o proiectați cu Access și o publicați online.

În acest articol

Crearea unei instrucțiuni Select

Particularizarea clauzei SELECT

Particularizarea clauzei FROM

Particularizarea clauzei WHERE

Particularizarea cu operatorul UNION

Crearea unei instrucțiuni Select

O instrucțiune SQL select are două sau trei clauze. Clauza SELECT spune bazei de date unde să caute datele și îi solicită să returneze un anumit rezultat.

Notă : Instrucțiunile SELECT se încheie întotdeauna prin punct și virgulă (;) la sfârșitul ultimei clauze sau separat pe o linie la sfârșitul instrucțiunii SQL.

Următoarea instrucțiune select solicită Access să preia informații de la coloanele Adresă de e-mail și Firmă, din tabelul Persoane de contact, în mod specific în locul în care găsește „Sibiu” din coloana Localitate.

Fila obiect SQL afișând o instrucțiune SELECT

Interogarea de mai sus are trei clauze SELECT, FROM și WHERE.

1. Clauza SELECT listează coloanele care conțin datele pe care doriți să le utilizați și are un operator (SELECT) urmat de doi identificatori (Adresă de e-mail și Firmă). Dacă un identificator are spații sau caractere speciale (cum ar fi „Adresă de e-mail”), încadrați identificatorul între paranteze pătrate.

2. Clauza FROM identifică tabelul sursă. În acest exemplu, are un operator (FROM) urmat de un identificator (Contacte).

3. Clauza WHERE este o clauză opțională. Exemplul are un operator (WHERE) urmat de o expresie (Localitate="Sibiu").

Pentru mai multe informații despre interogările de selectare, consultați creează o interogare de selectare simplă.

Iată o listă de clauze SQL comune:

Clauză SQL

Ce face

Obligatoriu ?

SELECT

Listează câmpurile care conțin date de interes.

Da

FROM

Listează tabelele care conțin câmpurile listate în clauza SELECT.

Da

WHERE

Specifică criteriile de câmp ce trebuie îndeplinite de fiecare înregistrare pentru ca aceasta să fie inclusă în rezultate.

Nu

ORDER BY

Specifică modalitatea de sortare a rezultatelor.

Nu

GROUP BY

Într-o instrucțiune SQL care conține funcții agregate, listează câmpurile care nu sunt rezumate în clauza SELECT.

Doar dacă există astfel de câmpuri

HAVING

Într-o instrucțiune SQL care conține funcții agregate, specifică ce condiții se aplică la câmpurile care sunt rezumate în instrucțiunea SELECT.

Nu

Fiecare clauză SQL este formată din termeni. Iată o listă de termeni SQL comuni.

Termen SQL

Definiție

Exemplu

identificator

Un nume pe care îl utilizați pentru a identifica un obiect din baza de date, cum ar fi numele coloanei.

[Adresă de e-mail] și Firmă

operator

Un cuvânt cheie care reprezintă o acțiune sau care modifică o acțiune.

AS

constantă

O valoare care nu se modifică, precum un număr sau o valoare NULL.

42

expresie

O combinație de identificatori, operatori, constante și funcții care se evaluează la o singură valoare.

>= Produse.[Preț unitar]

Începutul paginii

Particularizarea clauzei SELECT

Particularizare

Exemplu

Pentru a vedea doar valori distincte.

Utilizați cuvântul cheie DISTINCT în clauza dvs. SELECT.

De exemplu, dacă clienții dvs. provin de la mai multe departamente diferite și unii au același număr de telefon și doriți să vedeți doar un număr de telefon listat o dată, clauza dvs. SELECT ar arăta astfel:

SELECT DISTINCT [txtCustomerPhone] 

Pentru a modifica modul în care apare un identificator în vizualizarea Foaie de date pentru a îmbunătăți lizibilitatea.

Utilizați operatorul AS (un cuvânt cheie care reprezintă o acțiune sau modifică o acțiune) cu un alias de câmp din clauza dvs. SELECT. Un alias de câmp este un nume pe care îl atribuiți unui câmp pentru a face rezultatele mai simplu de citit.

SELECT [txtCustPhone] AS [Customer Phone]

Particularizarea clauzei FROM

Particularizare

Exemplu

Puteți să utilizați un alias de tabel sau alt nume pe care îl atribuiți unui tabel dintr-o instrucțiune select. Un alias de tabel este util dacă numele tabelului este prea lung, mai ales atunci când aveți mai multe câmpuri cu același nume din tabele diferite.

Pentru a selecta date din două câmpuri, ambele denumite ID, dintre care unul provine din tabelul tblClienți și altul din tabelul tblComenzi:

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Utilizați operatorul AS pentru a defini aliasurile de tabel în clauza FROM:

FROM [tblCustomer] AS [C], 
[tblOrder] AS [O]

Apoi puteți să utilizați aceste aliasuri de tabel în clauza SELECT, după cum urmează:

SELECT [C].[ID], 
[O].[ID]

Utilizați asocierile pentru a combina perechi de înregistrări din două surse de date într-un singur rezultat sau pentru a specifica dacă să includeți înregistrări din tabel dacă nu există nicio înregistrare provenită din tabelul asociat.

Uniți tabelele astfel încât interogarea să combine elementele din tabele și să le excludă atunci când nu există nicio înregistrare corespunzătoare în celălalt tabel

Iată cum poate arăta clauza FROM:

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Despre utilizarea asocierilor

Există două tipuri de asocieri: asocieri interne și asocieri externe. Asocierile interne sunt cele mai comune în interogări. Atunci când rulați o interogare cu o asociere internă, rezultatul afișează doar elementele în care există o valoare comună în ambele tabele asociate.

Asocierile externe specifică dacă să se includă date atunci când nu există o valoare comună. Asocierile externe sunt direcționale, adică este posibil să specificați dacă să includeți toate înregistrările din primul tabel specificat în asociere (denumită asociere la stânga) sau să le includeți pe toate cele din al doilea tabel din asociere (denumită asociere la dreapta). O asociere externă are următoarea sintaxă SQL:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Vedeți mai multe informații despre utilizarea asocierilor într-o interogare în asocierea tabelelor și interogărilor.

Începutul paginii

Particularizarea clauzei WHERE

Clauza WHERE include criteriile care vă ajută să limitați numărul de elemente returnate într-o interogare. Vedeți exemple de criterii de interogare și cum funcționează.

Un exemplu de mod de particularizare a clauzei WHERE de bază este limitarea rezultatelor unei interogări; să presupunem că doriți să găsiți numărul de telefon al unui client și că rețineți doar că numele său de familie este Calinov. În acest exemplu, numele de familie sunt stocate într-un câmp NumeDeFamilie, deci sintaxa SQL ar fi:

WHERE [LastName]='Bagel'

Utilizați clauza WHERE, de asemenea, pentru a combina surse de date pentru coloanele care au date, dar diferite tipuri de date de potrivire. Acest lucru vine la îndemână pentru că nu puteți crea o asociere între câmpurile care au tipuri diferite de date. Utilizați un singur câmp ca un criteriu pentru alte câmpuri, cu cuvântul cheie cum ar fi . De exemplu, dacă doriți să utilizați datele dintr-un tabel active și tabelul angajați, doar atunci când tastați tipul de active în active câmp din tabelul active are numărul 3 în câmpul cantitate din tabelul angajați, Iată cum va arăta clauza WHERE :

WHERE field1 LIKE field2

Important :  Nu este posibil să specificați criterii pentru un câmp utilizat cu o funcție agregată într-o clauză WHERE. În schimb, utilizați o clauză HAVING pentru a specifica criteriile pentru câmpurile agregate.

Începutul paginii

Particularizarea cu operatorul UNION

Utilizați operatorul UNION atunci când doriți să aveți o vizualizare combinată a rezultatelor din mai multe interogări de selectare similare. De exemplu, daca baza dvs. de date are un tabel Produse și un tabel Servicii și ambele au trei câmpuri: ofertă exclusivă sau produs sau serviciu, preț sau garanție. Deși tabelul Produse stochează informații despre garanție, iar tabelul Servicii stochează informații despre garanție, informațiile de bază sunt aceleași. Puteți să utilizați o interogare de uniune pentru a combina cele trei câmpuri din cele două tabele, astfel:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Când rulați interogarea, datele din fiecare set de câmpuri corespunzătoare sunt combinate într-un singur câmp de ieșire. Pentru a include orice rânduri dublate în rezultate, utilizați operatorul ALL.

Notă :  Instrucțiunea Select trebuie să aibă același număr de câmpuri de ieșire, în aceeași ordine și cu aceleași tipuri de date sau cu tipuri de date compatibile. În scopul efectuării unei interogări de uniune, tipurile de date Număr și Text sunt compatibile.

Pentru mai multe informații despre interogările de Uniune, consultați utilizarea unei interogări de Uniune pentru a vizualiza un rezultat unificat din mai multe interogări.

Începutul paginii

Notă : Exonerare de răspundere pentru traducere automată: Acest articol a fost tradus de un sistem computerizat, fără intervenție umană. Microsoft oferă aceste traduceri automate pentru a ajuta utilizatorii vorbitori de alte limbi decât engleza să beneficieze de conținutul despre produsele, serviciile și tehnologiile Microsoft. Pentru că articolul a fost tradus de un computer, poate conține erori de vocabular, sintaxă sau gramatică.

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×