Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.
Język Access SQL: klauzula SELECT

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

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

Wybieranie pól: klauzula SELECT

Instrukcja SELECT zwykle zaczyna się od klauzuli SELECT. Klauzula SELECT umożliwia określenie nazw pól zawierających dane, których chcesz użyć w zapytaniu. Zamiast lub oprócz pól mogą być także używane wyrażenia. Jako pola można też użyć kolejnej instrukcji SELECT — jest to nazywane podzapytaniem.

Załóżmy, że chcesz poznać numery telefonów klientów. Przy założeniu, że pole przechowujące numery telefonów klientów nosi nazwę txtCustPhone, klauzula SELECT jest wyświetlana w następujący sposób:

SELECT [txtCustomerPhone]

Nazwę można ująć w nawiasy kwadratowe. Jeśli nazwa nie zawiera żadnych spacji ani znaków specjalnych (takich jak znaki interpunkcyjne), nawiasy kwadratowe są opcjonalne. Jeśli w nazwie znajdują się spacje lub znaki specjalne, zastosowanie nawiasów jest konieczne.

Porada: Nazwa zawierająca spacje jest łatwiejsza do odczytania i pozwala zaoszczędzić czas podczas projektowania formularzy i raportów, ale może spowodować, że będziesz wpisywać więcej podczas pisania instrukcji SQL. Należy wziąć pod uwagę ten fakt podczas nazywania obiektów w bazie danych programu Access.

Jeśli dana instrukcja SQL zawiera co najmniej dwa pola o takiej samej nazwie, do nazwy pola w klauzuli SELECT trzeba dodać nazwę źródła danych każdego z tych pól. Należy użyć tej samej nazwy źródła danych co w przypadku klauzuli FROM.

Wybieranie wszystkich pól

Jeśli chcesz uwzględnić wszystkie pola ze źródła danych, możesz wymienić je wszystkie osobno w klauzuli SELECT lub zastosować symbol wieloznaczny gwiazdki (*). W przypadku użycia gwiazdki program Access po uruchomieniu zapytania określa pola zawarte w źródle danych i uwzględnia je wszystkie w zapytaniu. Dzięki temu zapytanie jest aktualne, nawet jeśli do źródła danych zostaną dodane nowe pola.

Gwiazdkę można zastosować do jednego lub wielu źródeł danych w instrukcji SQL. Jeśli używasz gwiazdki, a istnieje wiele źródeł danych, oprócz gwiazdki musisz podać nazwę źródła danych, aby program Access mógł ustalić, z którego źródła danych ma uwzględnić wszystkie pola.

Załóżmy, że chcesz zaznaczyć wszystkie pola z tabeli zamówień (Orders), ale tylko pole adresu e-mail z tabeli kontaktów (Contacts). Klauzula SELECT może wówczas wyglądać następująco:

SELECT Orders.*, Contacts.[E-mail Address]

Uwaga: Pamiętaj, gdzie została użyta gwiazdka. Późniejsze dodanie do źródła danych nowych, nieplanowanych wcześniej pól może spowodować, że wyniki zapytania będą niezgodne z oczekiwaniami.

Wybieranie unikatowych wartości

Jeśli wiesz, że dana instrukcja spowoduje zaznaczenie nadmiarowych danych, a chcesz uzyskać tylko unikatowe wartości, użyj słowa kluczowego DISTINCT w klauzuli SELECT. Załóżmy, że z każdym z klientów powiązanych jest kilka różnych obszarów, ale w przypadku niektórych z nich są używane te same numery telefonów. Jeśli chcesz, aby każdy numer telefonu wystąpił tylko raz, klauzula SELECT powinna wyglądać następująco:

SELECT DISTINCT [txtCustomerPhone]

Stosowanie nazw zastępczych dla pól lub wyrażeń: słowo kluczowe AS

Etykietę wyświetlaną dla dowolnego pola w widoku arkusza danych można zmienić, używając słowa kluczowego AS i aliasu pola w klauzuli SELECT. Alias pola to nazwa przypisywana do pola w zapytaniu, aby ułatwić odczytywanie wyników. Jeśli na przykład chcesz wybrać dane z pola o nazwie txtCustPhone, a pole zawiera numery telefonów klientów, możesz poprawić czytelność wyników, używając aliasu pola w instrukcji SELECT w następujący sposób:

SELECT [txtCustPhone] AS [Customer Phone]

Uwaga: Aliasu pola trzeba użyć, jeśli w klauzuli SELECT jest używane wyrażenie.

Wybieranie przy użyciu wyrażenia

Czasami zachodzi konieczność wyświetlenia obliczeń na podstawie danych lub pobrania tylko części danych pola. Załóżmy, że chcesz uzyskać rok urodzenia każdego z klientów, korzystając z danych zawartych w polu BirthDate w bazie danych. Klauzula SELECT może wówczas wyglądać następująco:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

To wyrażenie składa się z funkcji DatePart oraz dwóch argumentów — „yyyy” (stała) oraz [BirthDate] (identyfikator).

Jako pola można użyć dowolnego prawidłowego wyrażenia, o ile jego dane wyjściowe mają postać pojedynczej wartości (przy pojedynczej wartości wejściowej).

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ą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×