Język Access SQL: klauzula SELECT

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Ten artykuł jest częścią zestawu dotyczącego języka Access SQL. Wyjaśniono w nim, jak napisać SELECT klauzulę, i przedstawiono przykłady technik, których można użyć.

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 SELECT klauzuli. Ta klauzula służy do określania pól zawierających dane, które mają zostać uwzględnione w zapytaniu. Zamiast lub oprócz pól mogą być także używane wyrażenia. Możesz nawet użyć innej SELECT instrukcji jako pola. Jest to nazywane podzapytaniem.

Załóżmy, że chcesz poznać numery telefonów swoich klientów. Jeśli pole, w którym są przechowywane te liczby, ma nazwę txtCustomerPhone, klauzula SELECT będzie wyglądać następująco:

SELECT [txtCustomerPhone]

Nazwę można ująć w nawiasy kwadratowe. Jeśli nazwa nie zawiera spacji ani znaków specjalnych, nawiasy są opcjonalne. Jeśli tak, musisz ich użyć.

Porada

Nazwa zawierająca spacje 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 programu Access.

Jeśli dana instrukcja SQL zawiera co najmniej dwa pola o takiej samej nazwie, dodaj nazwę źródła danych każdego z tych pól w klauzuli SELECT . Użyj tej samej nazwy źródła danych co w FROM klauzuli.

Wybieranie wszystkich pól

Jeśli chcesz uwzględnić wszystkie pola ze źródła danych, możesz wymienić je pojedynczo w klauzuli SELECT lub użyć symbolu wieloznacznego gwiazdki (*). W przypadku użycia gwiazdki program Access określa pola zawarte w źródle danych po uruchomieniu zapytania i uwzględnia je wszystkie. Dzięki temu zapytanie będzie aktualne, gdy 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 dla wielu źródeł danych, dołącz do gwiazdki nazwę źródła danych, aby program Access mógł ustalić, którego źródła użyć.

Załóżmy na przykład, że chcesz zaznaczyć wszystkie pola z Orders tabeli, ale tylko adres e-mail z tabeli Contacts . Klauzula SELECT może wyglądać następująco:

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

Uwaga

Pamiętaj, gdzie została użyta gwiazdka. Jeśli później inna osoba doda do źródła danych nowe pola, które nie zostały zaplanowane, wyniki zapytania mogą być niezgodne z oczekiwaniami.

Wybieranie unikatowych wartości

Jeśli wiesz, że dana instrukcja zwróci zduplikowane dane, a chcesz wyświetlić tylko unikatowe wartości, użyj słowa kluczowego DISTINCT w klauzuli SELECT . Jeśli na przykład w przypadku niektórych klientów są używane te same numery telefonów, upewnij się, DISTINCT że każdy numer telefonu jest wyświetlany tylko raz:

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 AS w klauzuli słowa kluczowego i aliasu SELECT pola. Alias pola to nazwa przypisywana 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, możesz ułatwić odczytywanie wyników, stosując alias pola:

SELECT [txtCustPhone] AS [Customer Phone]

Uwaga

Aliasu pola należy użyć, gdy w klauzuli jest używane wyrażenie SELECT .

Wybieranie przy użyciu wyrażenia

Czasami zachodzi konieczność wyświetlenia obliczeń na podstawie danych lub zwrócenia tylko części wartości pola. Załóżmy na przykład, że na podstawie danych w BirthDate tym polu ma zostać zwrócona data urodzenia klientów. Klauzula SELECT może wyglądać następująco:

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

W wyrażeniu użyto funkcji DatePart oraz dwóch argumentów: "yyyy" (stałej) i [BirthDate] (identyfikator).

Jako pola można użyć dowolnego prawidłowego wyrażenia, o ile zwraca ono jedną wartość dla jednej wartości wejściowej.

Powrót do początku