ALL, DISTINCT, DISTINCTROW, TOP predikátumok

ALL, DISTINCT, DISTINCTROW, TOP predikátumok

Megjegyzés: Szeretnénk, ha minél gyorsabban hozzáférhetne a saját nyelvén íródott súgótartalmakhoz. Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Kérjük, hogy a lap alján írja meg, hogy hasznos volt-e az Ön számára az itt található információ. Az eredeti angol nyelvű cikket itt találja.

Adja meg az SQL-lekérdezések kiválasztott rekordok.

Szintaxis

VÁLASSZA A [ÖSSZES |} ELTÉRŐK |} DISTINCTROW |} [Legnépszerűbb vagy legnagyobb n [SZÁZALÉK]]]
TÁBLÁBÓL

Ezek a predikátumok tartalmazó SELECT utasítás a következő részekből áll:

Rész

Leírás

ALL

Tekinti, ha nem adja meg a predikátumok közül. A Microsoft Access adatbázismotort kijelöli az SQL-utasítást az a feltételeknek megfelelő rekordok. Az alábbi két példa között nem tesz különbséget, és az összes rekordot ad vissza az alkalmazottak tábla:

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

DISTINCT

A kijelölt mezők belül ismétlődő adatok tartalmazó rekordokat kihagyja. A lekérdezés eredményét szerepeltetni, az értékek minden egyes mezőhöz, a SELECT utasításban felsorolt egyedinek kell lennie. Az alkalmazottak táblában felsorolt több alkalmazott Előfordulhat például, az azonos vezetéknevű. Ha két rekordot a Vezetéknév mezőben Kovács tartalmaznak, az a következő SQL utasítás csak egy rekord, amely tartalmazza a Tibor adja eredményül:

SELECT DISTINCT LastName
FROM Employees;

DISTINCT elhagyása esetén a lekérdezés mindkét Kovács rekordokat adja eredményül.

Ha a SELECT záradékban egynél több mező tartalmaz, az összes mezőkből származó értékek kombinációjától bekerülnek az eredmények az egy adott rekordban egyedinek kell lennie.

A kimenet DISTINCT használó lekérdezések nem frissíthető, és további, más felhasználók által végzett módosítások nem megfelelően.

DISTINCTROW

Adatok alapján, teljes rekordok csak ismétlődő mezők kihagyása. Ha például úgy lehetett létrehozni, hogy a CustomerID a vevők és a rendelések táblákat illesztő lekérdezés. A Vevők táblában nem tartalmaz ismétlődő CustomerID olyan mezőket, de a Rendelések táblában jelent, mivel az ügyfelek beállíthatja, hogy hány rendelések. A következő SQL-utasítást jeleníti meg, hogyan használhatja DISTINCTROW a listáját, amely legalább egy sorrend vállalatok, de nincs bármely ezeket a rendelések adatait:

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

Ha nincs megadva DISTINCTROW, ezt a lekérdezést több sor minden olyan céget, amelynek egynél több rendelés eredményez.

A DISTINCTROW csak akkor, ha kijelöli a mezőket az egyes, de nem az összes, a lekérdezés használt táblázatokat. DISTINCTROW figyelmen kívül hagyja, ha a lekérdezés csak egy táblázatot tartalmaz, vagy ha a tábla összes mezőjét.

Legnépszerűbb vagy legnagyobb n [SZÁZALÉK]

ORDER BY záradékban megadott tartományba alján vagy tetején eső rekordokat megadott számú adja eredményül. Tegyük fel, hogy a felső 25 tanulójának 1994 azoknak a:

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

Ne kerüljön bele az ORDER BY záradékban, ha a lekérdezés visszaadja egy tetszőleges rekordhalmaz 25, amelyek megfelelnek a WHERE záradék a diákok táblából.

A TOP predikátumok nem egyenlő értékek választhatja. Az előző példában ha a húsz-ötödik és húsz-hatodik legnagyobb minőségű pont átlagokat megegyeznek, a lekérdezést ad vissza 26 rekordok.

A százalékos foglalt szó való visszatéréshez bizonyos százalékát tetején vagy alján ORDER BY záradékban megadott tartományba eső rekordokat is használhatja. Tegyük fel, az első 25 tanuló helyett szeretné, hogy az alsó 10 százalék osztály:

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

Az ASC predikátumok jelzi, hogy az utolsó értéket. Az érték, amely követi a felső alá nem írt egész számnak kell lennie.

FELSŐ nem befolyásolja, attól függetlenül, hogy a lekérdezés nem frissíthető.

tábla

Annak a táblának a neve, amelyből a rekordokat lekérdezi.



Office-jártasság bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×