Поиск…


Введение в 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 можно найти здесь .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow