ms-access
Доступ к SQL
Поиск…
Введение в Access SQL
При использовании Access вы можете получать данные с помощью запросов. Эти запросы создаются с использованием языка структурированных запросов (SQL). Понимание SQL важно, потому что оно может помочь в создании более полезных и полезных запросов.
При создании запросов в Access вы можете переключиться на «SQL View». Пример запроса «select» показан здесь:
Запросы объединения (объединения)
Если вы хотите объединить результаты нескольких таблиц или запросов с одинаковыми полями вместе в один результирующий набор данных без каких-либо реляционных объединений (т. Е. Вы хотите перечислить один набор данных сразу после другого), вы будете использовать запрос UNION . Тем не менее, примечательно, что эти запросы должны быть созданы вручную в SQL View.
Синтаксис запроса UNION
SELECT
floatingpoint_field AS floatptfld,
text_field
FROM first_table
UNION
SELECT
integer_field,
decimal_field
FROM a_saved_query
UNION
SELECT
1.0,
"hi there Jack"
и вернет floatptfld набор данных с именами полей (столбцов): floatptfld и text_field
Крайне важно, чтобы типы данных (и стили данных) для последовательно объединенных табличных полей были совместимы с первым запросом в серии. Другими словами, если первый запрос SELECT генерирует число для первого столбца, второй запрос должен также возвращать число в первом столбце. В дополнение к соответствующим типам полей в порядке, SELECT должны возвращать одинаковое количество полей. Имена полей для полученного таблицы данных унаследованы от первого определения таблицы.
Следующий запрос НЕ был бы легальным, так как текст не может быть преобразован в десятичные данные, а числа с плавающей запятой не могут быть преобразованы в целые числа (без явного усечения или округления и литья типов).
SELECT
integer_field AS this_really_wont_turn_out_well,
decimal_field
FROM a_saved_query
UNION
SELECT
floatingpoint_field,
text_field
FROM first_table
Функция COUNT ()
Вы можете использовать функцию COUNT (), чтобы вернуть количество записей, соответствующих запросу. В следующей таблице «Сотрудник» содержатся идентификационные номера сотрудников и идентификационный номер их ассоциированного менеджера.
| eMPLOYEE_ID | Manager_ID |
|---|---|
| 12 | 37 |
| 22 | 37 |
| 37 | 63 |
| 42 | 45 |
| 45 | 63 |
| 57 | 45 |
| 59 | 45 |
| 63 |
Оператор COUNT () может использоваться для определения количества сотрудников определенного менеджера:
SELECT COUNT(*) AS CNT FROM Employees WHERE Employee.Manager_ID = 37;
возвращается
| CNT |
|---|
2
Функция также может быть объединена в более сложные запросы. Чтобы узнать, сколько сотрудников напрямую контролируется указанным человеком, можно применить следующее:
SELECT T1.Employee_ID,
(SELECT COUNT(*) AS CNT FROM Employees AS T2 WHERE T2.Manager_ID =
T1.Employee_ID) AS Supervised_Count
FROM Employees AS T1;
возвращает:
| eMPLOYEE_ID | Supervised_Count |
|---|---|
| 12 | 0 |
| 22 | 0 |
| 37 | 2 |
| 42 | 0 |
| 45 | 3 |
| 57 | 0 |
| 59 | 0 |
| 63 | 2 |
Документацию MSDN можно найти здесь .
