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