Orzeczenia ALL, DISTINCT, DISTINCTROW i TOP

Orzeczenia ALL, DISTINCT, DISTINCTROW i TOP

Ważne : Ten artykuł został przetłumaczony maszynowo, zobacz zastrzeżenie. Angielskojęzyczną wersję tego artykułu można znaleźć tutaj .

Określa rekordy wybrane przy użyciu kwerend SQL.

Składnia

WYBIERZ POZYCJĘ [WSZYSTKIE | RÓŻNE | DISTINCTROW | [Najważniejsze n [%]]]
z tabeli

Instrukcja SELECT zawierająca te orzeczenia zawiera następujące segmenty:

Segment

Opis

ALL

Przyjmowana, jeśli nie ma jedną orzeczenia. Aparat bazy danych programu Microsoft Access zaznacza wszystkie rekordy, które spełniają warunki w instrukcji SQL. Poniższe dwa przykłady są równoważne i zwraca wszystkie rekordy z tabeli Pracownicy:

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

RÓŻNE

Pomija rekordy, które zawierają zduplikowanych danych w zaznaczonych pól. Aby zostały uwzględnione w wynikach kwerendy, wartości dla każdego pola wymienione w instrukcji SELECT muszą być unikatowe. Na przykład kilku pracowników zdefiniowanych w tabeli Pracownicy może być tym samym nazwisku. Jeśli dwa rekordy zawierają Kit w polu Nazwisko, następująca instrukcja SQL zwraca tylko jeden rekord, który zawiera Kit:

SELECT DISTINCT LastName
FROM Employees;

Jeśli pominie się argument DISTINCT, ta kwerenda zwraca obu rekordów.

Jeśli klauzula SELECT zawiera więcej niż jedno pole, kombinacja wartości ze wszystkich pól musi być unikatowa dla danego rekordu mają zostać uwzględnione w wynikach.

Wyniki kwerendy, która używa DISTINCT nie będzie dostępne do edycji i nie uwzględniają kolejnych zmian wprowadzonych przez innych użytkowników.

DISTINCTROW

Pomija danych oparty na całych zduplikowanych rekordów, nie tylko pól. Na przykład można utworzyć kwerendy sprzęgającej tabele Klienci i zamówienia, w polu Id_klienta. Tabela klienci nie zawiera żadnych zduplikowanych pól Id_klienta, ale nie w tabeli zamówienia, ponieważ każdy odbiorca może mieć wiele zamówień. Następująca instrukcja SQL pokazuje, jak za pomocą DISTINCTROW można wygenerować listę firm, które mają co najmniej jedno zamówienie, ale bez żadnych szczegółów dotyczących tych zamówień:

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

Jeśli DISTINCTROW zostanie pominięty, to zapytanie daje wiele wierszy dla każdej firmy, która ma więcej niż jedno zamówienie.

DISTINCTROW działa tylko po zaznaczeniu pola z niektórych, ale nie wszystkie tabele używane w kwerendzie. Jest ono ignorowane, jeśli kwerenda zawiera tylko jedną tabelę lub jeśli pola pochodzą ze wszystkich tabel.

GÓRY n [%]

Zwraca określoną liczbę rekordów, które mieszczą się w górnej lub dolnej części zakresu określonego przez klauzulę ORDER BY. Załóżmy, że chcesz nazwy 25 najlepszych studentów z klasą 1994:

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

Jeśli nie powinno obejmować klauzula ORDER BY, kwerenda zwróci dowolny zestaw 25 rekordów tabeli studenci, które spełniają klauzuli WHERE.

Orzeczenie TOP nie wybrać jednakowe wartości. W powyższym przykładzie Jeśli dwudziestu piątego i szóstego dwudziestu najwyższych ocen punktu średnich są takie same, kwerenda zwróci 26 rekordy.

Za pomocą PROCENTU słowo zastrzeżone zwraca rekordy, które odpowiadają w górnej lub dolnej części zakresu określonego przez klauzula ORDER BY określony procent. Załóżmy, zamiast uczniów góry 25 dołu 10 procent klasy:

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

Orzeczenie ASC wskazuje zwrotu ostatnie wartości. Wartość, znajdujący się na GÓRZE musi być liczba całkowita bez znaku.

Nie wpływa na GÓRNEJ, czy kwerenda będzie dostępne do edycji.

tabela

Nazwa tabeli, z której są pobierane rekordy.



Uwaga : Zrzeczenie dotyczące tłumaczenia maszynowego: Ten artykuł został przetłumaczony przez system komputerowy bez interwencji człowieka. Firma Microsoft udostępnia te tłumaczenia maszynowe, aby ułatwić użytkownikom, którzy nie znają języka angielskiego, korzystanie z zawartości dotyczącej produktów, usług i technologii firmy Microsoft. Ponieważ ten artykuł został przetłumaczony maszynowo, może zawierać błędy w słownictwie, składniowe lub gramatyczne.

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×