Język Access SQL: klauzula SELECT

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

Wybieranie wszystkich pól

Wybieranie unikatowych wartości

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

Wybieranie przy użyciu wyrażenia

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 uzyskać numery telefonów swoich klientów. Przyjmijmy, że pole zawierające numery telefonu nosi nazwę txtCustPhone. Klauzula SELECT będzie miała następującą postać:

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 odstępy jest łatwiejsza do odczytania. Może to oszczędzić czas poświęcony na projektowanie formularzy i raportów, ale może też powodować konieczność wpisywania większej ilości tekstu podczas pisania instrukcji SQL. Należy wziąć to pod uwagę podczas nadawania nazw obiektom w bazie danych.

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

Możesz zmienić etykietę, która jest wyświetlana dla pola w widoku arkusza danych. W tym celu użyj w klauzuli SELECT słowa kluczowego AS i aliasu pola. Alias pola to nazwa przypisana do pola w zapytaniu w celu zwiększenia czytelności wyników. Jeśli na przykład chcesz wybrać dane z pola o nazwie txtCustPhone, a pole to zawiera numery telefonów klientów, możesz poprawić czytelność wyników, stosując w instrukcji SELECT alias pola 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

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.

×