Język Access SQL: klauzula WHERE

Niniejszy artykuł pochodzi z zestawu artykułów dotyczących języka Access SQL. Omówiono w nim, jak napisać klauzulę WHERE, a także na przykładach przedstawiono różne techniki, których można używać w klauzuli WHERE.

W instrukcji SQL klauzula WHERE określa kryteria, jakie muszą spełniać wartości pól, aby zawierające je rekordy zostały uwzględnione w wynikach zapytania.

Aby zapoznać się z omówieniem języka Access SQL, zobacz artykuł Język Access SQL: podstawowe pojęcia, słownictwo i składnia.

W tym artykule

Ograniczanie wyników za pomocą kryteriów

Aby ograniczyć liczbę rekordów zwracanych w zapytaniu za pomocą danych, można użyć kryterium. Kryterium zapytania jest podobne do formuły — jest to ciąg, który może składać się z odwołań do pól, operatorów i stałych. Kryteria zapytania są typem wyrażenie.

W poniższej tabeli przedstawiono przykłady kryteriów oraz wyjaśniono ich działanie.

Kryteria

Opis

>25 and <50

To kryterium dotyczy pól typu Liczba, takich jak Cena albo StanMagazynu. Powoduje ono uwzględnianie tylko tych rekordów, w których pola Cena lub StanMagazynu zawierają wartość większą niż 25 i mniejszą niż 50.

DateDiff ("rrrr"; [DataUrodzenia]; Date()) > 30

To kryterium dotyczy pól typu Data/Godzina, na przykład pola DataUrodzenia. W wyniku zapytania zostaną uwzględnione tylko te rekordy, w których liczba lat między datą urodzenia danej osoby a datą bieżącą jest większa niż 30.

Is Null

To kryterium można zastosować do pola dowolnego typu w celu pokazania rekordów, w których pole ma wartość null.

Jak pokazano w powyższej tabeli, kryteria mogą różnić się między sobą w zależności od typu danych pola, do którego są stosowane, oraz w zależności od określonych wymagań. Niektóre kryteria są proste i używają podstawowych operatorów oraz stałych. Inne są złożone i zawierają funkcje oraz operatory specjalne, a także odwołania do pól.

Ważne: Jeśli pole jest używane wraz z funkcją agregującą, nie można określić dla tego pola kryteriów w klauzuli WHERE. Zamiast tego należy użyć klauzuli HAVING w celu określenia kryteriów dla pól agregowanych. Aby uzyskać więcej informacji, zobacz artykuły Język Access SQL: podstawowe pojęcia, słownictwo i składnia i Klauzula HAVING.

Składnia klauzuli WHERE

Kryteria zapytania są stosowane w klauzuli WHERE instrukcji SELECT.

Klauzula WHERE ma następującą składnię podstawową:

WHERE field = criterion

Potrzebny jest na przykład jest numer telefonu klienta, ale pamiętasz tylko, że jego nazwisko brzmi Bagel. Zamiast przeglądać wszystkie numery telefonów w bazie danych, można użyć klauzuli WHERE, aby ograniczyć wyniki i ułatwić odnalezienie odpowiedniego numeru telefonu. Jeśli nazwiska są przechowywane w polu o nazwie LastName, klauzula WHERE może wyglądać następująco:

WHERE [LastName]='Bagel'

Uwaga: Kryteriów w klauzuli WHERE nie trzeba opierać na równoważności wartości. Można stosować inne operatory porównania, takie jak „większe niż” (>) albo „mniejsze niż” (<). Na przykład WHERE [Cena]>100.

Łączenie źródeł danych za pomocą klauzuli WHERE

Czasami może być wymagane łączenie źródeł danych na podstawie pól zawierających zgodne dane, ale o innym typie. Na przykład pole w jednej tabeli zawiera dane typu Liczba, a ma zostać porównane z polem w innej tabeli zawierającym dane typu Tekst.

Nie można utworzyć sprzężenia między polami o różnych typach danych. Aby połączyć dane z dwóch źródeł danych na podstawie wartości w polach o różnych typach danych, należy utworzyć klauzulę WHERE, w której jedno pole będzie stanowić kryterium dla drugiego pola, stosując słowo kluczowe LIKE.

Przykładowo mają być używane dane z tabel o nazwach table1 i table2, ale tylko gdy dane z pola field1 (pola tekstowego w tabeli table1) pasują do danych z pola field2 (pola liczbowego w tabeli table2). Klauzula WHERE będzie przypominać następującą:

WHERE field1 LIKE field2

Aby uzyskać więcej informacji na temat tworzenia kryteriów do stosowania w klauzuli WHERE, zobacz artykuł Przykłady kryteriów zapytań.

Początek strony

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.