Instrukcja SELECT nakazuje aparatowi bazy danych programu Microsoft Access zwracanie informacji w postaci zestawu rekordów.
Składnia
SELECT [orzeczenie] { * | tabela.* | [tabela.]pole1 [AS alias1] [, [tabela.]pole2 [AS alias2] [, ...]]}
FROM wyrażenie_tabeli [, ...] [IN zewnętrzna_baza_danych] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] [WITH OWNERACCESS OPTION]Instrukcja SELECT zawiera następujące segmenty:
Segment |
Opis |
orzeczenie |
Jedno z następujących orzeczeń: ALL, DISTINCT, DISTINCTROW lub TOP. Orzeczenie służy do ograniczenia liczby zwracanych rekordów. Jeśli nie zostanie wpisane, domyślnie przyjmowana jest wartość ALL. |
* |
Określa, że wybierane są wszystkie pola pochodzące z danej tabeli lub tabel. |
tabela |
Nazwa tabeli zawierającej pola, z których są wybierane rekordy. |
pole1, pole2 |
Nazwy pól zawierających dane, które mają zostać pobrane. Jeśli zostanie dodane więcej niż jedno pole, dane z nich są pobierane według kolejności wpisania. |
alias1, alias2 |
Nazwy, które mają pełnić rolę nagłówków kolumn zamiast oryginalnych nazw kolumn w tabeli. |
wyrażenie_tabeli |
Nazwa tabeli lub tabel zawierających dane, które mają zostać pobrane. |
zewnętrzna_baza_danych |
Nazwa bazy danych zawierającej tabele umieszczone w wyrażeniu_tabeli, jeśli nie znajdują się one w bieżącej bazie danych. |
Uwagi
Aby wykonać tę operację, aparat bazy danych programu Microsoft Access przeszukuje określoną tabelę lub tabele, identyfikuje wybrane kolumny, wybiera wiersze spełniające podane kryterium, a następnie sortuje lub grupuje otrzymane wiersze we wskazanej kolejności.
Instrukcje SELECT nie powodują modyfikacji danych w bazie danych.
Zazwyczaj SELECT jest pierwszym słowem w instrukcji SQL. Większość instrukcji SQL ma postać SELECT lub SELECT...INTO.
Minimalna składnia instrukcji SELECT wygląda następująco:
SELECT pola FROM tabela
Aby wybrać wszystkie pola w tabeli, możesz użyć gwiazdki (*). W poniższym przykładzie następuje wybranie wszystkich pól z tabeli Employees:
SELECT * FROM Employees;
Jeśli nazwa pola jest zdefiniowana w kilku tabelach w klauzuli FROM, przed każdą z nich wpisz nazwę tabeli i operator . (kropka). W kolejnym przykładzie pole Department znajduje się zarówno w tabeli Employees, jak i Supervisors. Instrukcja SQL wybiera działy z tabeli Employees, a imiona i nazwiska kierowników — z tabeli Supervisors:
SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;
Podczas tworzenia obiektu Recordset aparat bazy danych programu Microsoft Access nadaje obiektowi Field w obiekcie Recordset nazwę pola z tabeli. Jeśli ma być użyta inna nazwa pola lub jeśli nazwa nie wynika z wyrażenia, za pomocą którego pole zostało utworzone, użyj słowa zastrzeżonego (zobacz słowo zastrzeżone) AS. W poniższym przykładzie zwracany obiekt Field zawarty w powstałym obiekcie Recordset uzyskuje nazwę Birth:
SELECT BirthDate AS Birth FROM Employees;
Jeśli są stosowane funkcje lub kwerendy agregujące, które zwracają niejednoznaczne lub powtarzające się nazwy obiektów Field, użyj klauzuli AS w celu zapewnienia alternatywnych nazw obiektu Field. W przykładzie poniżej zwracany obiekt Field, znajdujący się w powstałym obiekcie Recordset, uzyskuje nazwę HeadCount:
SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;
Za pomocą innych klauzul instrukcji SELECT można dodatkowo ograniczać i organizować zwracane dane. Aby uzyskać więcej informacji, zobacz temat Pomocy dotyczący danej klauzuli.