Predicatele ALL, DISTINCT, DISTINCTROW, TOP

Predicatele ALL, DISTINCT, DISTINCTROW, TOP

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ță.

Specifică înregistrările selectate cu interogările SQL.

Sintaxă

SELECTAȚI [TOATE | DISTINCTE | DISTINCTROW | [Sus n [%]]]
Din tabel

O instrucțiune SELECT care conține aceste predicate are următoarele părți:

Parte

Descriere

ALL

Consideră dacă nu include unul dintre predicate. Motorul de baze de date Microsoft Access Selectează toate înregistrările care îndeplinesc condițiile din instrucțiunii SQL. Următoarele două exemple sunt echivalente și a returna toate înregistrările din tabelul angajați:

SELECT ALL *
FROM Employees
ORDER BY EmployeeID;
SELECT *
FROM Employees
ORDER BY EmployeeID;

DISTINCTE

Omite înregistrările care conțin date dublate în câmpurile selectate. Pentru a fi incluse în rezultatele interogării, valorile pentru fiecare câmp enumerate în instrucțiunea SELECT trebuie să fie unică. De exemplu, mai multor angajați listate într-un tabel angajații pot avea același nume de familie. Dacă două înregistrări conțin Smith în câmpul nume, următoarea Instrucțiune SQL returnează o singură înregistrare care conține Smith:

SELECT DISTINCT LastName
FROM Employees;

Dacă se omite DISTINCT, această interogare returnează ambele înregistrări Smith.

Dacă clauza SELECT conține mai multe câmpuri, combinația de valori din toate câmpurile trebuie să fie unică pentru o înregistrare dat să fie inclusă în rezultate.

Rezultatul unei interogări care utilizează DISTINCT nu este actualizabil și reflecta modificările ulterioare efectuate de alți utilizatori.

DISTINCTROW

Omite date bazate pe întregul înregistrările dublate, nu doar dublate câmpuri. De exemplu, creați o interogare care asociază tabele clienți și comenzi în câmpul IDClient. Tabelul clienți conține fără câmpuri dublate IDClient, dar tabelul Orders înseamnă că fiecare client poate avea mai multe comenzi. Următoarea Instrucțiune SQL afișează cum se pot utiliza DISTINCTROW pentru a genera o listă de firme care au cel puțin o ordine, dar fără orice detalii despre aceste comenzi:

SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;

Dacă se omite DISTINCTROW, această interogare produce mai multe rânduri pentru fiecare firmă care are mai multe ordine.

DISTINCTROW are efect doar atunci când Selectați câmpurile din unele, dar nu toate, din tabelele utilizate în interogare. DISTINCTROW este ignorată dacă interogarea include doar un tabel sau dacă care se afișează câmpurile din toate tabelele.

SUS n [%]

Returnează un anumit număr de înregistrări care se încadrează în partea de sus sau de jos a unei zone specificate, după o clauză ORDER BY. Să presupunem că doriți numele cei mai buni 25 de elevi din clasă de 1994:

SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage DESC;

Dacă nu puteți să includeți clauza ORDER BY, interogarea va returna un set de arbitrare de 25 de înregistrări din tabelul elevii/studenții care satisfac o clauză WHERE.

TOP predicat nu alege între valori egale. În exemplul anterior, dacă douăzeci de-a cincea și a șasea douăzeci mai mare la punct medii sunt la fel, interogarea va returna 26 înregistrări.

De asemenea, puteți utiliza cuvânt rezervat procent pentru a returna un anumit procent de înregistrări care se încadrează în partea de sus sau de jos a unei zone specificate, după o clauză ORDER BY. Să presupunem că, în loc de elevi/studenți începutul 25, doriți partea de jos 10 la sută din clasa de:

SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage ASC;

ASC predicat specifică o rentabilitate a ultimele valori. Valoarea care urmează partea de sus trebuie să fie un număr întreg nesemnate.

Partea de sus nu afectează interogarea este actualizabil sau nu.

tabel

Numele tabelului din care sunt regăsite înregistrările.



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.

×