Sql

Режим sql в access: Access SQL. Основные понятия, лексика и синтаксис

Содержание

Access SQL. Основные понятия, лексика и синтаксис

Для извлечения данных из базы данных используется язык SQL. SQL — это язык программирования, который очень напоминает английский, но предназначен для программ управления базами данных. SQL используется в каждом запросе в Access.

Понимание принципов работы SQL помогает создавать более точные запросы и упрощает исправление запросов, которые возвращают неправильные результаты.

Это статья из цикла статей о языке SQL для Access. В ней описаны основы использования SQL для выборки данных и приведены примеры синтаксиса SQL.

В этой статье

Что такое SQL?

SQL — это язык программирования, предназначенный для работы с наборами фактов и отношениями между ними. В программах управления реляционными базами данных, таких как Microsoft Office Access, язык SQL используется для работы с данными. В отличие от многих языков программирования, SQL удобочитаем и понятен даже новичкам. Как и многие языки программирования, SQL является международным стандартом, признанным такими комитетами по стандартизации, как ISO и ANSI.

На языке SQL описываются наборы данных, помогающие получать ответы на вопросы. При использовании SQL необходимо применять правильный синтаксис. Синтаксис — это набор правил, позволяющих правильно сочетать элементы языка.

Синтаксис SQL основан на синтаксисе английского языка и имеет много общих элементов с синтаксисом языка Visual Basic для приложений (VBA).

Например, простая инструкция SQL, извлекающая список фамилий контактов с именем Mary, может выглядеть следующим образом:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Примечание: Язык SQL используется не только для выполнения операций над данными, но еще и для создания и изменения структуры объектов базы данных, например таблиц. Та часть SQL, которая используется для создания и изменения объектов базы данных, называется языком описания данных DDL. Язык DDL не рассматривается в этой статье.

Дополнительные сведения см. в статье Создание и изменение таблиц или индексов с помощью запроса определения данных.

Инструкции SELECT

Чтобы описать набор данных с помощью SQL, нужно написать заявление SELECT. Инструкция SELECT содержит полное описание набора данных, которые вы хотите получить из базы данных. К ним относятся файлы со следующими элементами:

  • таблицы, в которых содержатся данные;

  • связи между данными из разных источников;

  • поля или вычисления, на основе которых отбираются данные;

  • условия отбора, которым должны соответствовать данные, включаемые в результат запроса;

  • необходимость и способ сортировки.

Предложения SQL

Инструкция SQL состоит из нескольких частей, называемых предложениями. Каждое предложение в инструкции SQL имеет свое назначение. Некоторые предложения являются обязательными. В приведенной ниже таблице указаны предложения SQL, используемые чаще всего.

Предложение SQL

Описание

Обязательное

SELECT

Определяет поля, которые содержат нужные данные.

Да

FROM

Определяет таблицы, которые содержат поля, указанные в предложении SELECT.

Да

WHERE

Определяет условия отбора полей, которым должны соответствовать все записи, включаемые в результаты.

Нет

ORDER BY

Определяет порядок сортировки результатов.

Нет

GROUP BY

В инструкции SQL, которая содержит статистические функции, определяет поля, для которых в предложении SELECT не вычисляется сводное значение.

Только при наличии таких полей

HAVING

В инструкции SQL, которая содержит статистические функции, определяет условия, применяемые к полям, для которых в предложении SELECT вычисляется сводное значение.

Нет

Термины SQL

Каждое предложение SQL состоит из терминов, которые можно сравнить с частями речи. В приведенной ниже таблице указаны типы терминов SQL.

Термин SQL

Сопоставимая часть речи

Определение

Пример

идентификатор

существительное

Имя, используемое для идентификации объекта базы данных, например имя поля.

Клиенты.[НомерТелефона]

оператор

глагол или наречие

Ключевое слово, которое представляет действие или изменяет его.

AS

константа

существительное

Значение, которое не изменяется, например число или NULL.

42

выражение

прилагательное

Сочетание идентификаторов, операторов, констант и функций, предназначенное для вычисления одного значения.

>= Товары.[Цена]

К началу страницы

Основные предложения SQL: SELECT, FROM и WHERE

Общий формат инструкций SQL:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Примечания: 

  • Access не учитывает разрывы строк в инструкции SQL. Несмотря на это, каждое предложение рекомендуется начинать с новой строки, чтобы инструкцию SQL было удобно читать как тому, кто ее написал, так и всем остальным.

  • Каждая инструкция SELECT заканчивается точкой с запятой (;). Точка с запятой может стоять как в конце последнего предложения, так и на отдельной строке в конце инструкции SQL.

Пример в Access

В приведенном ниже примере показано, как в Access может выглядеть инструкция SQL для простого запроса на выборку.

1. Предложение SELECT

2. Предложение FROM

3. Предложение WHERE

Эту инструкцию SQL следует читать так: «Выбрать данные из полей «Адрес электронной почты» и «Компания» таблицы «Контакты», а именно те записи, в которых поле «Город» имеет значение «Ростов».

Разберем пример по предложениям, чтобы понять, как работает синтаксис SQL.

Предложение SELECT

SELECT [E-mail Address], Company

Это предложение SELECT. Оно содержит оператор (SELECT), за которым следуют два идентификатора («[Адрес электронной почты]» и «Компания»).

Если идентификатор содержит пробелы или специальные знаки (например, «Адрес электронной почты»), он должен быть заключен в прямоугольные скобки.

В предложении SELECT не нужно указывать таблицы, в которых содержатся поля, и нельзя задать условия отбора, которым должны соответствовать данные, включаемые в результаты.

В инструкции SELECT предложение SELECT всегда стоит перед предложением FROM.

Предложение FROM

FROM Contacts

Это предложение FROM. Оно содержит оператор (FROM), за которым следует идентификатор (Контакты).

В предложении FROM не указываются поля для выборки.

Предложение WHERE

WHERE City=»Seattle»

Это предложение WHERE. Оно содержит оператор (WHERE), за которым следует выражение (Город=»Ростов»).

Примечание: В отличие от предложений SELECT и FROM, предложение WHERE является необязательным элементом инструкции SELECT.

С помощью предложений SELECT, FROM и WHERE можно выполнять множество действий. Дополнительные сведения об использовании этих предложений см. в следующих статьях:

К началу страницы

Сортировка результатов: ORDER BY

Как и в Microsoft Excel, в Access можно сортировать результаты запроса в таблице. Используя предложение ORDER BY, вы также можете указать способ сортировки результатов при выполнении запроса. Если используется предложение ORDER BY, оно должно находиться в конце инструкции SQL.

Предложение ORDER BY содержит список полей, для которых нужно выполнить сортировку, в том же порядке, в котором будут применена сортировка.

Предположим, например, что результаты сначала нужно отсортировать по полю «Компания» в порядке убывания, а затем, если присутствуют записи с одинаковым значением поля «Компания», — отсортировать их по полю «Адрес электронной почты» в порядке возрастания. Предложение ORDER BY будет выглядеть следующим образом:

ORDER BY Company DESC, [E-mail Address]

Примечание: По умолчанию Access сортирует значения по возрастанию (от А до Я, от наименьшего к наибольшему). Чтобы вместо этого выполнить сортировку значений по убыванию, необходимо указать ключевое слово DESC.

Дополнительные сведения о предложении ORDER BY см. в статье Предложение ORDER BY.

К началу страницы

Работа со сводными данными: предложения GROUP BY и HAVING

Иногда возникает необходимость работы со сводными данными, такими как итоговые продажи за месяц или самые дорогие товары на складе. Для этого в предложении SELECT к полю применяется агрегатная функция. Например, если в результате выполнения запроса нужно получить количество адресов электронной почты каждой компании, предложение SELECT может выглядеть следующим образом:

SELECT COUNT([E-mail Address]), Company

Возможность использования той или иной агрегатной функции зависит от типа данных в поле и нужного выражения. Дополнительные сведения о доступных агрегатных функциях см. в статье Статистические функции SQL.

Задание полей, которые не используются в агрегатной функции: предложение GROUP BY

При использовании агрегатных функций обычно необходимо создать предложение GROUP BY. В предложении GROUP BY указываются все поля, к которым не применяется агрегатная функция. Если агрегатные функции применяются ко всем полям в запросе, предложение GROUP BY создавать не нужно.

Предложение GROUP BY должно следовать сразу же за предложением WHERE или FROM, если предложение WHERE отсутствует. В предложении GROUP BY поля указываются в том же порядке, что и в предложении SELECT.

Продолжим предыдущий пример. Пусть в предложении SELECT агрегатная функция применяется только к полю [Адрес электронной почты], тогда предложение GROUP BY будет выглядеть следующим образом:

GROUP BY Company

Дополнительные сведения о предложении GROUP BY см. в статье Предложение GROUP BY.

Ограничение агрегированных значений с помощью условий группировки: предложение HAVING

Если необходимо указать условия для ограничения результатов, но поле, к которому их требуется применить, используется в агрегированной функции, предложение WHERE использовать нельзя. Вместо него следует использовать предложение HAVING. Предложение HAVING работает так же, как и WHERE, но используется для агрегированных данных.

Предположим, например, что к первому полю в предложении SELECT применяется функция AVG (которая вычисляет среднее значение):

SELECT COUNT([E-mail Address]), Company

Если вы хотите ограничить результаты запроса на основе значения функции COUNT, к этому полю нельзя применить условие отбора в предложении WHERE. Вместо него условие следует поместить в предложение HAVING. Например, если нужно, чтобы запрос возвращал строки только в том случае, если у компании есть несколько адресов электронной почты, можно использовать следующее предложение HAVING:

HAVING COUNT([E-mail Address])>1

Примечание: Запрос может включать и предложение WHERE, и предложение HAVING, при этом условия отбора для полей, которые не используются в статистических функциях, указываются в предложении WHERE, а условия для полей, которые используются в статистических функциях, — в предложении HAVING.

Дополнительные сведения о предложении HAVING см. в статье Предложение HAVING.

К началу страницы

Объединение результатов запроса: оператор UNION

Оператор UNION используется для одновременного просмотра всех данных, возвращаемых несколькими сходными запросами на выборку, в виде объединенного набора.

Оператор UNION позволяет объединить две инструкции SELECT в одну. Объединяемые инструкции SELECT должны иметь одинаковое число и порядок выходных полей с такими же или совместимыми типами данных. При выполнении запроса данные из каждого набора соответствующих полей объединяются в одно выходное поле, поэтому выходные данные запроса имеют столько же полей, сколько и каждая инструкция SELECT по отдельности.

Примечание: В запросах на объединение числовой и текстовый типы данных являются совместимыми.

Используя оператор UNION, можно указать, должны ли в результаты запроса включаться повторяющиеся строки, если таковые имеются. Для этого следует использовать ключевое слово ALL.

Запрос на объединение двух инструкций SELECT имеет следующий базовый синтаксис:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Предположим, например, что имеется две таблицы, которые называются «Товары» и «Услуги». Обе таблицы содержат поля с названием товара или услуги, ценой и сведениями о гарантии, а также поле, в котором указывается эксклюзивность предлагаемого товара или услуги. Несмотря на то, что в таблицах «Продукты» и «Услуги» предусмотрены разные типы гарантий, основная информация одна и та же (предоставляется ли на отдельные продукты или услуги гарантия качества). Для объединения четырех полей из двух таблиц можно использовать следующий запрос на объединение:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Дополнительные сведения об объединении инструкций SELECT с помощью оператора UNION см. в статье Просмотр объединенных результатов нескольких запросов с помощью запроса на объединение.

К началу страницы

Как быстро начать вводить SQL в Microsoft Access?



В Microsoft Access 2016 я хотел бы нажать где-нибудь и сразу же начать вводить SQL нового запроса. Но самый короткий способ начать печатать SQL (который я нашел до сих пор) — это:

  1. Выберите меню Создать > дизайн запроса .
  2. В окне показать таблицу нажмите кнопку Закрыть .
  3. Переключитесь на вид SQL.
  4. Начните вводить SQL.

Слишком громоздко. Можно ли свести описанные выше шаги 1-3 к более короткой процедуре? Неужели я пропустил какую-то команду?

Самое быстрое, что я могу сделать, это поместить команды для шагов 1 и 3 на панель быстрого доступа, а затем я могу, например, сделать Alt + 5 , Esc , Alt + 6 . Но это все еще выполняет только шаги 1-3.

sql ms-access ide
Поделиться Источник miroxlav     06 ноября 2018 в 16:26

3 ответа


  • Использование базы данных Access с Microsoft SQL Server

    У нас есть некоторые веб-службы (написанные на .NET WCF), которые в настоящее время попадают в базу данных Microsoft SQL Server для извлечения/обновления данных. Теперь у нас есть требование также извлекать / обновлять данные из базы данных Microsoft Access. База данных Access в настоящее время…

  • Максимальная длина запроса SQL в Microsoft Access 2010?

    Попытка скопировать / вставить запрос 159KB TSQL в Редактор сквозных запросов Microsoft Access 2010 (в серверную часть Microsoft SQL Server 2008). Это приводит к появлению всплывающей ошибки, The text is too long to be edited. Какова максимальная длина запроса в Microsoft Access 2010?



1

Ожидая лучшего ответа, я создал решение AutoHotKey – сочетание клавиш (ограниченное только доступом) для выполнения вышеуказанных шагов в англоязычной версии Microsoft Access 2016:

SendMode Input                                      ; // Choose mode of sending keystrokes

#IfWinActive, ahk_class OMain ahk_exe MSACCESS. n::                                               ; // Routine for Ctrl+Shift+N starts
    Send !cqd                                       ; // Run "Query Design" menu command
    WinWaitActive,Show Table ahk_class #32770       ; // Wait for "Show Table" window
    Send {Esc}!jqwq{End}{Left}{Space}               ; // Send the rest of the keys
    Return

#IfWinActive                                        ; // end of #IfWinActive section

После нажатия Ctrl + Shift + N и в ожидании bit*, открывается новое окно запроса в представлении SQL, и я могу начать вводить SQL.

*) иногда MS Access может быть очень медленным при использовании сочетаний клавиш для доступа к ленте и при переключении с представления дизайна запросов на представление SQL.

Поделиться miroxlav     06 ноября 2018 в 17:19



1

Вариант 1: разберитесь с этим.

По умолчанию Access не поддерживает ничего более быстрого, чем это.

Вариант 2: Создайте макрос в базе данных Access для автоматизации задачи и свяжите его с комбинацией клавиш

Вы можете написать макрос для автоматизации действий панели команд и привязать его к ярлыку. В настоящее время у меня нет времени искать необходимые команды, но я уверен, что это возможно.

Вариант 3: купить плагин

Есть плагины, которые сразу же переходят в SQL view, поддерживают наличие SQL и результатов на одной панели,имеют подсветку синтаксиса и т. д.

Примером такого плагина является редактор Access SQL (я никоим образом не связан с ним)

Вариант 4: Создайте свой собственный.

Написать свой собственный редактор SQL, который лучше, чем то, что предлагает Access по умолчанию, очень просто, потому что Access предлагает очень мало по умолчанию.

Вы можете начать с формы с textbox, которая принимает SQL, кнопку сохранения, кнопку выполнения (требуется немного VBA) и подформу, которая отображает результаты запроса. Тогда у вас уже есть что-то, что позволяет вам открыть его и сразу же начать печатать.

Поделиться Erik A     06 ноября 2018 в 17:54



1

Приведенная ниже функция создает или изменяет простой запрос-заполнитель, открывает его в режиме конструктора, переключается в режим SQL с выделенным текстом и затем удаляет текст.

Используйте эту функцию в качестве действия RunCode макроса и добавьте его на панель быстрого доступа. Затем вы можете нажать на этот значок и начать вводить свой SQL.

Public Function NewQuery()
    Const cstrQueryName As String = "USysQuery0"
    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim strSql As String

    strSql = "SELECT Date() AS Today;"

    Set db = CurrentDb
    For Each qdf In db.QueryDefs
        If qdf.Name = cstrQueryName Then
            Exit For
        End If
    Next
    If qdf Is Nothing Then
        Set qdf = db. CreateQueryDef(cstrQueryName)
    End If
    qdf.SQL = strSql
    qdf.Close
    DoCmd.OpenQuery cstrQueryName, acViewDesign
    DoCmd.RunCommand acCmdSQLView
    DoCmd.RunCommand acCmdDelete
End Function

Поделиться HansUp     06 ноября 2018 в 19:01


  • Microsoft Access SQL Инъекция

    Мне нужно исправить некоторые проблемы безопасности в приложении, отличном от IT, которое нам было поручено поддерживать. Он находится в интерфейсе Microsoft Access (SQL Server back-end). Кто-нибудь знает, можно ли сделать инъекцию SQL через свойство RecordSource или RowSource элементов управления…

  • Как прокомментировать код SQL в Microsoft Access?

    Можно ли комментировать код в окне SQL в Microsoft Access?


Похожие вопросы:


Microsoft Access vs Native SQL

Гипотетически: допустим, вы пишете сложные запросы к базе данных, и очень важно, чтобы данные, которые вы извлекли, были правильным результирующим набором (например, чтобы вы не испортили JOIN, не. ..


Как написать запрос Microsoft Access SQL в C#?

Я пытаюсь запустить этот запрос Microsoft Access в C#,, но он не работает: Create table Users (UserName Text(50) Primary Key, Password Text(50), IsLocked YESNO) Я получаю ошибку Syntax error in…


Запрос Microsoft Access SQL

Может ли кто-нибудь помочь мне с вопросом? В Microsoft SQL Server у меня есть следующий запрос, который выполняется нормально: SELECT * FROM ControlPoint INNER JOIN Project ON ControlPoint.ProjectID…


Использование базы данных Access с Microsoft SQL Server

У нас есть некоторые веб-службы (написанные на .NET WCF), которые в настоящее время попадают в базу данных Microsoft SQL Server для извлечения/обновления данных. Теперь у нас есть требование также…


Максимальная длина запроса SQL в Microsoft Access 2010?

Попытка скопировать / вставить запрос 159KB TSQL в Редактор сквозных запросов Microsoft Access 2010 (в серверную часть Microsoft SQL Server 2008). Это приводит к появлению всплывающей ошибки, The…


Microsoft Access SQL Инъекция

Мне нужно исправить некоторые проблемы безопасности в приложении, отличном от IT, которое нам было поручено поддерживать. Он находится в интерфейсе Microsoft Access (SQL Server back-end). Кто-нибудь…


Как прокомментировать код SQL в Microsoft Access?

Можно ли комментировать код в окне SQL в Microsoft Access?


Синтаксическая Ошибка — SQL Microsoft Access

Я буду признателен за любую помощь, я новичок в SQL и использую Microsoft Access. Я сам это написал, так что если что-то покажется вам неправильным, пожалуйста, дайте мне знать! Кроме того, если вы…


Как связать sql server с Microsoft Access?

Мне нужно создать интерфейсный интерфейс для моей базы данных. Я использую sql server 2014 и должен связать его с Microsoft access 2016. Обратите внимание, что эти два приложения находятся на разных. ..


SQL View vs запрос Microsoft Access

В то время как большинство баз данных SQL позволяют создавать view, Microsoft Access сохраняет запросы. Я читал, что запросы доступа-это не то же самое, что представления SQL, но это широкое…

Как открыть таблицы MS SQL Server в Access на редактирование

Дано: установленный на каком-нибудь сервере MS SQL Server (например, версии 2014), у пользователей имеется MS Access 2016 (все в локальной сети).
Задача: редактировать данные в таблицах MS SQL Server через Access.

Когда может возникнуть такая задача: например, необходимо быстро создать UI (визуальный интерфейс) для редактирования данных в таблицах с доменным доступом.


Этапы:

1) Создаем базу данных в SQL Server (если ее не существует).

2) Создаем необходимые таблицы.
На этом этапе важно задать ключевое поле таблицы (primary key):


Если этого не сделать, то при последующей линковке с Access вы потеряете возможность редактировать данные в таблице, она будет открываться только на чтение, а при попытке что-то изменить в строке состояния будет сообщение:
Объект Recordset не является обновляемым (This recordset is not updateable)

3) В Access создаем связь с таблицами.
Для этого на вкладке «Внешние данные» выбираем «База данных ODBC» (см. видео ниже).
В открывшемся окне выбираем «Создать связную таблицу«.
В окне «Выбор источника» — вкладка «Источник данных компьютера«.
Если SQL источник не создан, то нажимаем «Создать«. Если появится сообщение об ошибке административных прав, игнорируем его, нажав Ок.
Далее выбираем драйвер SQL Server и традиционно создаем источник, указав наименование сервера, учетные данные для подключения и базу по умолчанию.
После выбора источника нам предложат выбрать таблицы — выбираем все какие нужно и по нажатию ОК они будут подключены к Access.

4) Проверка работы связи.
Открываем любую подключенную таблицу и пытаемся редактировать или вносить данные. Если не получается, возвращается к пункту 2.
Если данные отредактировались и сохранились, проверяем, что они также изменились и в SQL Server.

Небольшой видеофрагмент, демонстрирующий описанные выше действия (3Мб, щелкните, чтобы увеличить):


В итоге при просмотре таблицы в MS SQL Server Management Studio увидим внесенные через Access данные.
Если при редактировании данных в Access возникает ошибка: «Пока вы правили эту запись, она была изменена другим пользователем…» (This record has been changed by another user since you started editing it.), то смотрите решение здесь.

Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

Запросы в Access — Базы данных Access

Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.

Основным видом запроса является запрос на выборку. Результатом выполнения этого запроса является новая таблица, которая существует до закрытия запроса. Записи формируются путем объединения записей таблиц, на которых построен запрос. Способ объединения записей таблиц указывается при определении их связи в схеме данных или при создании запроса. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц.

В Access может быть создано несколько видов запроса:

  • запрос на выборку — выбирает данные из одной таблицы или запроса или нескольких взаимосвязанных таблиц и других запросов. Результатом является таблица, которая существует до закрытия запроса. Формирование записей таблицы результата производится в соответствии с заданными условиями отбора и при использовании нескольких таблиц путем объединения их записей;
  • запрос на создание таблицы — выбирает данные из взаимосвязанных таблиц и других запросов, но, в отличие от запроса на выборку, результат сохраняет в новой постоянной таблице;
  • запросы на обновление, добавление, удаление — являются запросами действия, в результате выполнения которых изменяются данные в таблицах.

Запросы в Access в режиме конструктора содержат схему данных, отображающую используемые таблицы, и бланк запроса, в котором конструируется структура таблицы запроса и условия выборки записей (рис. 4.1).

С помощью запроса можно выполнить следующие виды обработки данных:

  • включить в таблицу запроса выбранные пользователем поля таблицы;
  • произвести вычисления в каждой из полученных записей;
  • выбрать записи, удовлетворяющие условиям отбора;
  • сформировать на основе объединения записей взаимосвязанных таблиц новую виртуальную таблицу;
  • сгруппировать записи, которые имеют одинаковые значения в одном или нескольких полях, одновременно выполнить над другими полями группы статистические функции и в результат включить одну запись для каждой группы;
  • создать новую таблицу базы данных, используя данные из существующих таблиц;
  • произвести обновление полей в выбранном подмножестве записей;
  • удалить выбранное подмножество записей из таблицы базы данных;
  • добавить выбранное подмножество записей в другую таблицу.

Запросы в Access служат источниками записей для других запросов, форм, отчетов. С помощью запроса можно собрать полные сведения для формирования некоторого документа предметной области из нескольких таблиц, далее использовать его для создания формы — электронного представления этого документа. Если форма или отчет создаются мастером на основе нескольких взаимосвязанных таблиц, то для них в качестве источника записей автоматически формируется запрос.
Для закрепления смотрим видеоурок:

Основы Express: переход с Access 2007 на SQL Server Express | Windows IT Pro/RE

. Существует несколько средста переноса баз данных Access в SQL Server Express. Один из них — мастер Import Export Wizard в составе SQL Server. Однако мастер Import Export Wizard в основном ориентирован на таблицы и не обеспечивает переноса любых объектов. К счастью, в Access 2007 есть собственный мастер Upsizing Wizard в составе Access 2007, с помощью которого можно перенести данные в SQL Server Express (или другие SQL Server).

Для переноса базы данных Access 2007 в SQL Server Express необходимо сначала запустить Access 2007, а затем открыть базу данных, которую предстоит перенести. Если на экране появится предупреждение системы безопасности, нужно щелкнуть на кнопке Options и перейти в диалоговое окно Enable this content from the Microsoft Office Security Options. В меню щелкните на вкладке Database Tools. В разделе Move Data ленты следует щелкнуть на пункте SQL Server, чтобы запустить мастер Upsizing Wizard.

В первом диалоговом окне мастер Upsizing Wizard спрашивает, следует ли использовать существующую базу данных или необходимо создать новую. Для типичной миграции нужно выбрать переключатель Create new database и нажать Next. В следующем диалоговом окне пользователь должен ответить на вопрос об имени целевого компьютера SQL Server. Если Access и SQL Server Express находятся на одном компьютере, используется выбираемый по умолчанию локальный режим. Если применяется проверка подлинности Windows (режим по умолчанию для SQL Server Express), следует установить флажок Use Trusted Connection. Если SQL Server находится на другом сетевом компьютере, требуется указать имя экземпляра SQL Server и необходимую информацию для проверки подлинности. Данные имеют вид SQLEXPRESS (вместо подставляется имя компьютера, на котором размещен экземпляр SQL Server Express). В диалоговом окне также содержится запрос имени создаваемой базы данных. По умолчанию мастер Upsizing Wizard добавляет SQL в имя исходной базы данных Access.

Это имя можно принять или заменить его на другое.

При нажатии на кнопку Next появляется диалоговое окно с запросом о таблицах, которые предстоит экспортировать в SQL Server Express. Щелкните на двойной стрелке, чтобы экспортировать все таблицы и нажмите Next. Мастер Upsizing Wizard выдаст запрос об экспорте других объектов базы данных.

Рекомендуется выбрать параметры по умолчанию, убедиться, что выбраны пункты Indexes, Defaults, Validation rules и Table relationships, и щелкнуть на кнопке Next.

Наконец, мастер Upsizing Wizard спрашивает, следует ли изменить существующую базу данных Access. Если планируется использовать формы и отчеты Access, следует выбрать Make a new Access client/server application to create a new Access project (.adp) или Link SQL Server tables to existing application, чтобы использовать связанные таблицы. Если предполагается применить другой метод доступа к данным, выберите пункт No application changes и последовательно нажмите Next и Finish, чтобы запустить мастер.

В зависимости от размера базы данных, мастеру Upsizing Wizard может потребоваться несколько минут, но после завершения его работы будет построена новая база данных SQL Server Express.

Поделитесь материалом с коллегами и друзьями

SQL и VBA. VBA для чайников

SQL и VBA

SQL (Structured Query Language — Язык структурированных запросов) — это общепринятый стандарт организации запросов баз данных (запрос — это команда, которая получает или изменяет информацию, которая содержится в базе данных). Любая система управления данных, будь то Jet или Oracle, поддерживает язык SQL. SQL- это полноправный язык программирования, однако лучше всего он подходит именно для управления базами данных. Вы создаете инструкции SQL для выбора, изменения или удаления определенных наборов записей.

А как же SQL и VBA дополняют друг друга? VBA позволяет передавать ядру базы данных инструкции SQL для их дальнейшей обработки. После обработки инструкций и извлечения необходимого набора записей ядром базы данных вам снова потребуется VBA для отображения и форматирования результатов: SQL при этом не используется.

Все об объектах баз данных

Сам по себе язык VBA не предоставляет никаких средств для доступа к базам данных и манипулирования содержащейся в них информацией. Однако после объединения с библиотекой объектов баз данных VBA тотчас превращается в инструмент для программирования баз данных с очень широкими возможностями.

Основная задача, выполняемая библиотекой объектов базы данных,- представление базы данных и всех ее компонентов (таблицы, запросы, отчеты и т.д.) в объекты, по своему проявлению мало отличающиеся от других объектов, используемых в VBA. Благодаря этому вы получаете возможность манипулировать ими, используя их свойства, методы и события (подробности в главе 12). Поскольку база данных представляется в виде набора объектов, ее библиотека объектов избавляет вас от необходимости беспокоиться о деталях сложной структуры базы данных. Кроме того, вы можете использовать тот же набор объектов для манипулирования базами данных других типов.

Вы можете выбирать среди нескольких библиотек баз данных; чаще других пользуются предложения компании Microsoft. Сюда относятся ADO (ActiveX Data Objects- Объекты данных ActiveX), текущий стандарт, и DAO (Data Access Objects — Объекты доступа к данным), старая библиотека объектов, но все еще широко используемая. Другие поставщики предлагают свои собственные библиотеки объектов баз данных. Например, если вы работаете исключительно с файлами dBase, вам следует подумать об использовании CodeBase (продукт компании Sequiter Software).

В данный момент компания Microsoft настоятельно рекомендует использовать библиотеку объектов ADO. Эта библиотека предлагает простую в использовании объектную модель, которая одинаково хорошо подходит для работы как с локальными, так и удаленными данными.

Она содержит все инструменты, необходимые для одновременной работы с масштабируемыми сетевыми приложениями большого количества пользователей, но также замечательно подходит и для отдельных проектов, используемых на настольных компьютерах. ADO позволяет получать доступ не только к SQL-данным, но и данным других типов, таким как сведения Outlook, которая инструкции SQL не поддерживает.

Библиотека ADO поставляется в составе Office XP и Office 2000, в то время как DAO поставлялась с ранними версиями Office, включая Office 97, а также другими VBA приложениями. Если на вашем компьютере не установлена ни одна из этих библиотек объектов, вы можете загрузить их с Web-узла компании Microsoft, что, помимо всего прочего, гарантирует наличие на вашем компьютере самых последних версий этих библиотек.

После того как вы установили необходимую библиотеку объектов баз данных, вы должны указать ее наличие в VBA-проекте, прежде чем сможете использовать ее объекты. Для того чтобы это сделать, воспользуйтесь командой Tools = References, чтобы открыть диалоговое окно References (см. главу 12), в котором вам следует добавить необходимые сведения.

Какую бы библиотеку объектов баз данных вы ни выбрали, вы можете значительно расширить свои возможности программиста, используя связанные элементы управления AvtiveX, что означает, что они автоматически отображают данные из таблицы базы данных, с которой вы хотите работать. Когда пользователь изменяет данные в одном из подобных элементов управления, изменения автоматически будут отражены и в базе данных без каких либо действий с вашей стороны.

Возможность связывания элементов управления с данными представляет собой ключевое отличие Access от большинства других VBA-приложений. Однако, если вы используете приложение, например Word, которое не содержит элементы управления соответствующих типов, вы можете добавить их, отдельно приобретя специальные наборы инструментальных средств ActiveX. В состав пакета Microsoft Office Developer входит большое количество элементов управления для связывания данных, которые можно использовать в любом приложении Office, а также целый ряд других инструментов и утилит, значительно упрощающих создание программ управления базами данных на VBA. Кроме того, свои разработки предлагают многие сторонние поставщики.

Персональный сайт — Копировать команду SQL из запроса в VBA

Microsoft Access: Советы для серьезных пользователей

Автор Allen Browne.  , март 2007 г.  Последнее обновление: ноябрь 2008 г.

Оригинал http://allenbrowne.com/ser-71.html

Перевел Александр Артамонов, ноябрь 2011 г.


 

Вместо того, чтобы печатать сложный запрос непосредственно в коде VBA, разработчики часто строят запрос графически, переключают в SQL вид, копируют текст и вставляют в редактор VBA.

Если вы это делали, вы знаете, как утомительно разбираться с кавычками и концами строк.

Решение: создайте форму, у которую вы вставите инструкцию SQL и заставите Аксесс сформировать SQL строку.

Создание формы

Форме нужны только два текстовых поля и командная кнопка. Инструкции SQL могут быть довольно длинные, так что лучше разместить текстовые поля на разных страницах вкладки.

  1. Создать новую форму (в режиме конструктора.)
  2. Добавить элемент «вкладка».
  3. На первой странице вкладки, добавьте несвязанное текстовое поле.
    Установите свойство Имя на txtSql.
    Увеличьте высоту и ширину, так, чтобы видеть много строк сразу.
  4. На второй странице вкладки добавьте еще одно несвязанное текстовое поле.
    Назовите его txtVBA и увеличьте высоту и ширину.
  5. Над вкладкой разместите командную кнопку.
    Назовите ее cmdSql2Vba.
    Установите ее свойство Нажатие кнопки в [Процедура события].
    Нажмите на кнопку построителя (…) напротив этого свойства.
    Когда Аксесс откроет окно редактора кода, введите следующий код:
Private Sub cmdSql2Vba_Click()
Dim strSql As String
Const strcLineEnd = " "" & vbCrLf & _" & vbCrLf & """"

If IsNull(Me.txtSQL) Then
Beep
Else
strSql = Me.txtSQL
strSql = Replace(strSql, """", """""")
strSql = Replace(strSql, vbCrLf, strcLineEnd)
strSql = "strSql = """ & strSql & """"
Me.txtVBA = strSql
Me.txtVBA.SetFocus
RunCommand acCmdCopy
End If
End Sub

Использование формы

Чтобы пользоваться формой:

  1. Откройте запрос в режиме SQL и скопируйте инструкцию SQL в буфер обмена (Ctrl+C. )
  2. Вставьте содержимое буфера в первое текстовое поле (Ctrl+V.)
  3. Нажмите кнопку.
  4. Вставьте на новую строку в вашей VBA процедуре (Ctrl+V.)

Совет: Если вам нужны дополнительные разрывы строк в коде VBA, нажмите Enter чтобы создать эти переносы строк в режиме SQL конструктора запросов или в вашей форме.


Примечание переводчика: готовый пример такой утилиты, выполненной в виде надстройки Аксесс, чтобы загружать форму из любого приложения mdb — при наличии полной версии Access —  можно скачать здесь. Можно пользоваться и как самостоятельным приложением, не установленным в виде надстройки меню

Access SQL: основные понятия, словарь и синтаксис

Если вы хотите получить данные из базы данных, вы запрашиваете данные с помощью языка структурированных запросов или SQL. SQL — это компьютерный язык, который очень похож на английский, но его понимают программы баз данных. Каждый запрос, который вы выполняете, использует SQL за кулисами.

Понимание того, как работает SQL, может помочь вам создавать более качественные запросы и упростить понимание того, как исправить запрос, который не возвращает желаемых результатов.

Это одна из серии статей о Access SQL. В этой статье описывается базовое использование SQL для выбора данных и используются примеры для иллюстрации синтаксиса SQL.

В этой статье

Что такое SQL?

SQL — это компьютерный язык для работы с наборами фактов и отношениями между ними. Программы реляционных баз данных, такие как Microsoft Office Access, используют SQL для работы с данными. В отличие от многих компьютерных языков, SQL нетрудно читать и понимать даже новичку.Как и многие компьютерные языки, SQL — это международный стандарт, признанный такими организациями по стандартизации, как ISO и ANSI.

Вы используете SQL для описания наборов данных, которые могут помочь вам ответить на вопросы. При использовании SQL необходимо использовать правильный синтаксис. Синтаксис — это набор правил, по которым элементы языка правильно сочетаются. Синтаксис SQL основан на английском синтаксисе и использует многие из тех же элементов, что и синтаксис Visual Basic для приложений (VBA).

Например, простой оператор SQL, который извлекает список фамилий для контактов, имя которых Мэри, может выглядеть следующим образом:

 ВЫБРАТЬ Фамилию 
ИЗ контактов
ГДЕ Имя = 'Мэри';

Примечание. SQL используется не только для управления данными, но также для создания и изменения структуры объектов базы данных, таких как таблицы.Часть SQL, которая используется для создания и изменения объектов базы данных, называется языком определения данных (DDL). В этом разделе не рассматривается DDL. Дополнительные сведения см. В статье Создание или изменение таблиц или индексов с помощью запроса определения данных.

Операторы SELECT

Чтобы описать набор данных с помощью SQL, вы пишете оператор SELECT. Оператор SELECT содержит полное описание набора данных, которые вы хотите получить из базы данных.Это включает следующее:

  • Какие таблицы содержат данные.

  • Как связаны данные из разных источников.

  • Какие поля или вычисления будут производить данные.

  • Критерии, которым должны соответствовать данные для включения.

  • Следует ли и как сортировать результаты.

Пункты SQL

Как и предложение, в операторе SQL есть предложения. Каждое предложение выполняет функцию для оператора SQL. Некоторые предложения требуются в инструкции SELECT. В следующей таблице перечислены наиболее распространенные предложения SQL.

пункт SQL

Что делает

Требуется

ВЫБРАТЬ

Перечисляет поля, содержащие интересующие данные.

Есть

ИЗ

Перечисляет таблицы, содержащие поля, перечисленные в предложении SELECT.

Есть

ГДЕ

Задает критерии поля, которым должна соответствовать каждая запись, чтобы включить ее в результаты.

ЗАКАЗАТЬ В

Указывает, как сортировать результаты.

ГРУППА ПО

В операторе SQL, содержащем агрегатные функции, перечисляет поля, которые не суммированы в предложении SELECT.

Только если есть такие поля

ИМЕЕТ

В операторе SQL, содержащем агрегатные функции, определяет условия, которые применяются к полям, которые суммированы в операторе SELECT.

Условия SQL

Каждое предложение SQL состоит из терминов, сопоставимых с частями речи.В следующей таблице перечислены типы терминов SQL.

Условие SQL

Сопоставимая часть речи

Определение

Пример

идентификатор

существительное

Имя, которое вы используете для идентификации объекта базы данных, например имя поля.

Клиенты. [Телефон]

оператор

глагол или наречие

Ключевое слово, представляющее действие или изменяющее действие.

AS

постоянная

существительное

Неизменяемое значение, например число или NULL.

42

выражение

прилагательное

Комбинация идентификаторов, операторов, констант и функций, вычисляющая одно значение.

> = Товары.[Цена за единицу]

Верх страницы

Базовые предложения SQL: SELECT, FROM и WHERE

Оператор SQL имеет общую форму:

 ВЫБРАТЬ поле_1 
ИЗ таблицы_1
ГДЕ критерий_1
;

Примечания:

  • Access игнорирует разрывы строк в операторе SQL.Однако рассмотрите возможность использования строки для каждого предложения, чтобы улучшить читаемость ваших операторов SQL для себя и других.

  • Каждый оператор SELECT заканчивается точкой с запятой (;). Точка с запятой может стоять в конце последнего предложения или в отдельной строке в конце оператора SQL.

Пример в Access

Ниже показано, как может выглядеть оператор SQL для простого запроса выбора в Access:

1.Предложение SELECT

2. ИЗ пункта

3. Пункт

WHERE

Этот пример оператора SQL гласит: «Выберите данные, которые хранятся в полях с именем E-mail Address и Company из таблицы с именем Contacts, особенно те записи, в которых значением поля City является Сиэтл».

Давайте рассмотрим пример, по одному предложению за раз, чтобы увидеть, как работает синтаксис SQL.

Предложение SELECT

ВЫБЕРИТЕ [Адрес электронной почты], Компания

Это предложение SELECT.Он состоит из оператора (SELECT), за которым следуют два идентификатора ([Адрес электронной почты] и Компания).

Если идентификатор содержит пробелы или специальные символы (например, «Адрес электронной почты»), он должен быть заключен в квадратные скобки.

Предложение SELECT не должно указывать, какие таблицы содержат поля, и не может указывать какие-либо условия, которым должны удовлетворять включаемые данные.

Предложение SELECT всегда появляется перед предложением FROM в операторе SELECT.

Предложение FROM

ОТ КОНТАКТЫ

Это предложение FROM. Он состоит из оператора (FROM), за которым следует идентификатор (Контакты).

В предложении FROM не перечислены поля, которые нужно выбрать.

Предложение WHERE

ГДЕ Город = «Сиэтл»

Это предложение WHERE. Он состоит из оператора (WHERE), за которым следует выражение (City = «Seattle»).

Примечание: В отличие от предложений SELECT и FROM, предложение WHERE не является обязательным элементом оператора SELECT.

Многие действия, которые позволяет выполнять SQL, можно выполнять с помощью предложений SELECT, FROM и WHERE. Более подробная информация о том, как вы используете эти пункты, представлена ​​в этих дополнительных статьях:

Верх страницы

Сортировка результатов: ЗАКАЗАТЬ ПО

Как и Microsoft Excel, Access позволяет сортировать результаты запроса в таблице.Вы также можете указать в запросе, как вы хотите сортировать результаты при выполнении запроса, используя предложение ORDER BY. Если вы используете предложение ORDER BY, это последнее предложение в операторе SQL.

Предложение ORDER BY содержит список полей, которые вы хотите использовать для сортировки, в том же порядке, в котором вы хотите применять операции сортировки.

Например, предположим, что вы хотите, чтобы ваши результаты сначала были отсортированы по значению поля Компания в порядке убывания, а затем — если есть записи с таким же значением для Компании — отсортированы по значениям в поле Адрес электронной почты в возрастающем порядке. заказывать.Предложение ORDER BY будет выглядеть следующим образом:

ЗАКАЗАТЬ ПО компании DESC, [адрес электронной почты]

Примечание. По умолчанию Access сортирует значения в порядке возрастания (A – Z, от наименьшего к наибольшему). Вместо этого используйте ключевое слово DESC для сортировки значений в порядке убывания.

Дополнительные сведения о предложении ORDER BY см. В разделе Предложение ORDER BY.

Верх страницы

Работа с обобщенными данными: GROUP BY и HAVING

Иногда вам нужно работать со сводными данными, такими как общий объем продаж за месяц или самые дорогие товары в инвентаре.Для этого вы применяете агрегатную функцию к полю в предложении SELECT. Например, если вы хотите, чтобы в вашем запросе отображалось количество адресов электронной почты, перечисленных для каждой компании, ваше предложение SELECT может выглядеть следующим образом:

ВЫБЕРИТЕ СЧЕТЧИК ([Адрес электронной почты]), Компания

Агрегатные функции, которые вы можете использовать, зависят от типа данных, содержащихся в поле или выражении, которое вы хотите использовать. Дополнительные сведения о доступных агрегатных функциях см. В статье Агрегатные функции SQL.

Указание полей, которые не используются в агрегатной функции: предложение GROUP BY

При использовании агрегатных функций обычно необходимо также создать предложение GROUP BY. В предложении GROUP BY перечислены все поля, к которым вы не применяете агрегатную функцию. Если вы применяете агрегатные функции ко всем полям в запросе, вам не нужно создавать предложение GROUP BY.

Предложение GROUP BY следует сразу за предложением WHERE или предложением FROM, если предложение WHERE отсутствует.В предложении GROUP BY перечислены поля в том виде, в котором они указаны в предложении SELECT.

Например, продолжая предыдущий пример, если ваше предложение SELECT применяет агрегатную функцию к [E-mail Address], но не к Company, ваше предложение GROUP BY будет выглядеть следующим образом:

ГРУППА ПО КОМПАНИИ

Дополнительные сведения о предложении GROUP BY см. В разделе Предложение GROUP BY.

Ограничение совокупных значений с помощью групповых критериев: предложение HAVING

Если вы хотите использовать критерии для ограничения результатов, но поле, к которому вы хотите применить критерии, используется в агрегатной функции, вы не можете использовать предложение WHERE.Вместо этого вы используете предложение HAVING. Предложение HAVING работает как предложение WHERE, но используется для агрегированных данных.

Например, предположим, что вы используете функцию AVG (которая вычисляет среднее значение) с первым полем в предложении SELECT:

ВЫБЕРИТЕ СЧЕТЧИК ([Адрес электронной почты]), Компания

Если вы хотите, чтобы запрос ограничивал результаты на основе значения этой функции COUNT, вы не можете использовать критерий для этого поля в предложении WHERE.Вместо этого вы помещаете критерии в предложение HAVING. Например, если вы хотите, чтобы запрос возвращал строки только в том случае, если с компанией связано несколько адресов электронной почты, предложение HAVING может выглядеть следующим образом:

HAVING COUNT ([E-mail Address])> 1

Примечание: Запрос может иметь предложение WHERE и предложение HAVING — критерии для полей, которые не используются в агрегатной функции, указываются в предложении WHERE, а критерии для полей, которые используются с агрегатными функциями, входят в предложение HAVING.

Дополнительные сведения о предложении HAVING см. В разделе Предложение HAVING.

Верх страницы

Объединение результатов запроса: UNION

Если вы хотите просмотреть все данные, возвращаемые несколькими похожими запросами на выборку вместе, как объединенный набор, вы используете оператор UNION.

Оператор UNION позволяет объединить два оператора SELECT в один. Комбинируемые операторы SELECT должны иметь одинаковое количество выходных полей в одном порядке и с одинаковыми или совместимыми типами данных.Когда вы запускаете запрос, данные из каждого набора соответствующих полей объединяются в одно выходное поле, так что выходные данные запроса имеют такое же количество полей, что и каждый из операторов выбора.

Примечание: Для целей запроса на объединение типы данных «Число» и «Текст» совместимы.

При использовании оператора UNION вы также можете указать, должны ли результаты запроса включать повторяющиеся строки, если таковые существуют, с помощью ключевого слова ALL.

Базовый синтаксис SQL для запроса на объединение, который объединяет два оператора SELECT, выглядит следующим образом:

 ВЫБРАТЬ поле_1 
ИЗ таблицы_1
СОЕДИНЕНИЕ [ВСЕ]
ВЫБРАТЬ поле_a
ИЗ таблицы_а
;

Например, предположим, что у вас есть таблица с именем Products и другая таблица с именем Services. В обеих таблицах есть поля, которые содержат название продукта или услуги, цену, гарантию или наличие гарантии, а также то, предлагаете ли вы продукт или услугу исключительно.Хотя в таблице «Продукты» хранится информация о гарантии, а в таблице «Услуги» хранится информация о гарантиях, основная информация остается неизменной (независимо от того, содержит ли конкретный продукт или услуга обещание качества). Вы можете использовать запрос на объединение, например следующий, чтобы объединить четыре поля из двух таблиц:

 ВЫБРАТЬ имя, цена, доступность_гарантии, эксклюзивное_предложение 
ИЗ ПРОДУКТОВ
СОЮЗ ВСЕ
ВЫБРАТЬ имя, цена, доступность_гарантии, эксклюзивное_предложение
ИЗ УСЛУГ
;

Дополнительные сведения о том, как объединить операторы SELECT с помощью оператора UNION, см. В разделе Объединение результатов нескольких запросов на выборку с помощью запроса объединения.

Верх страницы

Access SQL: основные понятия, словарь и синтаксис

Если вы хотите получить данные из базы данных, вы запрашиваете данные с помощью языка структурированных запросов или SQL. SQL — это компьютерный язык, который очень похож на английский, но его понимают программы баз данных. Каждый запрос, который вы выполняете, использует SQL за кулисами.

Понимание того, как работает SQL, может помочь вам создавать более качественные запросы и упростить понимание того, как исправить запрос, который не возвращает желаемых результатов.

Это одна из серии статей о Access SQL. В этой статье описывается базовое использование SQL для выбора данных и используются примеры для иллюстрации синтаксиса SQL.

В этой статье

Что такое SQL?

SQL — это компьютерный язык для работы с наборами фактов и отношениями между ними. Программы реляционных баз данных, такие как Microsoft Office Access, используют SQL для работы с данными. В отличие от многих компьютерных языков, SQL нетрудно читать и понимать даже новичку.Как и многие компьютерные языки, SQL — это международный стандарт, признанный такими организациями по стандартизации, как ISO и ANSI.

Вы используете SQL для описания наборов данных, которые могут помочь вам ответить на вопросы. При использовании SQL необходимо использовать правильный синтаксис. Синтаксис — это набор правил, по которым элементы языка правильно сочетаются. Синтаксис SQL основан на английском синтаксисе и использует многие из тех же элементов, что и синтаксис Visual Basic для приложений (VBA).

Например, простой оператор SQL, который извлекает список фамилий для контактов, имя которых Мэри, может выглядеть следующим образом:

 ВЫБРАТЬ Фамилию 
ИЗ контактов
ГДЕ Имя = 'Мэри';

Примечание. SQL используется не только для управления данными, но также для создания и изменения структуры объектов базы данных, таких как таблицы.Часть SQL, которая используется для создания и изменения объектов базы данных, называется языком определения данных (DDL). В этом разделе не рассматривается DDL. Дополнительные сведения см. В статье Создание или изменение таблиц или индексов с помощью запроса определения данных.

Операторы SELECT

Чтобы описать набор данных с помощью SQL, вы пишете оператор SELECT. Оператор SELECT содержит полное описание набора данных, которые вы хотите получить из базы данных.Это включает следующее:

  • Какие таблицы содержат данные.

  • Как связаны данные из разных источников.

  • Какие поля или вычисления будут производить данные.

  • Критерии, которым должны соответствовать данные для включения.

  • Следует ли и как сортировать результаты.

Пункты SQL

Как и предложение, в операторе SQL есть предложения. Каждое предложение выполняет функцию для оператора SQL. Некоторые предложения требуются в инструкции SELECT. В следующей таблице перечислены наиболее распространенные предложения SQL.

пункт SQL

Что делает

Требуется

ВЫБРАТЬ

Перечисляет поля, содержащие интересующие данные.

Есть

ИЗ

Перечисляет таблицы, содержащие поля, перечисленные в предложении SELECT.

Есть

ГДЕ

Задает критерии поля, которым должна соответствовать каждая запись, чтобы включить ее в результаты.

ЗАКАЗАТЬ В

Указывает, как сортировать результаты.

ГРУППА ПО

В операторе SQL, содержащем агрегатные функции, перечисляет поля, которые не суммированы в предложении SELECT.

Только если есть такие поля

ИМЕЕТ

В операторе SQL, содержащем агрегатные функции, определяет условия, которые применяются к полям, которые суммированы в операторе SELECT.

Условия SQL

Каждое предложение SQL состоит из терминов, сопоставимых с частями речи.В следующей таблице перечислены типы терминов SQL.

Условие SQL

Сопоставимая часть речи

Определение

Пример

идентификатор

существительное

Имя, которое вы используете для идентификации объекта базы данных, например имя поля.

Клиенты. [Телефон]

оператор

глагол или наречие

Ключевое слово, представляющее действие или изменяющее действие.

AS

постоянная

существительное

Неизменяемое значение, например число или NULL.

42

выражение

прилагательное

Комбинация идентификаторов, операторов, констант и функций, вычисляющая одно значение.

> = Товары.[Цена за единицу]

Верх страницы

Базовые предложения SQL: SELECT, FROM и WHERE

Оператор SQL имеет общую форму:

 ВЫБРАТЬ поле_1 
ИЗ таблицы_1
ГДЕ критерий_1
;

Примечания:

  • Access игнорирует разрывы строк в операторе SQL.Однако рассмотрите возможность использования строки для каждого предложения, чтобы улучшить читаемость ваших операторов SQL для себя и других.

  • Каждый оператор SELECT заканчивается точкой с запятой (;). Точка с запятой может стоять в конце последнего предложения или в отдельной строке в конце оператора SQL.

Пример в Access

Ниже показано, как может выглядеть оператор SQL для простого запроса выбора в Access:

1.Предложение SELECT

2. ИЗ пункта

3. Пункт

WHERE

Этот пример оператора SQL гласит: «Выберите данные, которые хранятся в полях с именем E-mail Address и Company из таблицы с именем Contacts, особенно те записи, в которых значением поля City является Сиэтл».

Давайте рассмотрим пример, по одному предложению за раз, чтобы увидеть, как работает синтаксис SQL.

Предложение SELECT

ВЫБЕРИТЕ [Адрес электронной почты], Компания

Это предложение SELECT.Он состоит из оператора (SELECT), за которым следуют два идентификатора ([Адрес электронной почты] и Компания).

Если идентификатор содержит пробелы или специальные символы (например, «Адрес электронной почты»), он должен быть заключен в квадратные скобки.

Предложение SELECT не должно указывать, какие таблицы содержат поля, и не может указывать какие-либо условия, которым должны удовлетворять включаемые данные.

Предложение SELECT всегда появляется перед предложением FROM в операторе SELECT.

Предложение FROM

ОТ КОНТАКТЫ

Это предложение FROM. Он состоит из оператора (FROM), за которым следует идентификатор (Контакты).

В предложении FROM не перечислены поля, которые нужно выбрать.

Предложение WHERE

ГДЕ Город = «Сиэтл»

Это предложение WHERE. Он состоит из оператора (WHERE), за которым следует выражение (City = «Seattle»).

Примечание: В отличие от предложений SELECT и FROM, предложение WHERE не является обязательным элементом оператора SELECT.

Многие действия, которые позволяет выполнять SQL, можно выполнять с помощью предложений SELECT, FROM и WHERE. Более подробная информация о том, как вы используете эти пункты, представлена ​​в этих дополнительных статьях:

Верх страницы

Сортировка результатов: ЗАКАЗАТЬ ПО

Как и Microsoft Excel, Access позволяет сортировать результаты запроса в таблице.Вы также можете указать в запросе, как вы хотите сортировать результаты при выполнении запроса, используя предложение ORDER BY. Если вы используете предложение ORDER BY, это последнее предложение в операторе SQL.

Предложение ORDER BY содержит список полей, которые вы хотите использовать для сортировки, в том же порядке, в котором вы хотите применять операции сортировки.

Например, предположим, что вы хотите, чтобы ваши результаты сначала были отсортированы по значению поля Компания в порядке убывания, а затем — если есть записи с таким же значением для Компании — отсортированы по значениям в поле Адрес электронной почты в возрастающем порядке. заказывать.Предложение ORDER BY будет выглядеть следующим образом:

ЗАКАЗАТЬ ПО компании DESC, [адрес электронной почты]

Примечание. По умолчанию Access сортирует значения в порядке возрастания (A – Z, от наименьшего к наибольшему). Вместо этого используйте ключевое слово DESC для сортировки значений в порядке убывания.

Дополнительные сведения о предложении ORDER BY см. В разделе Предложение ORDER BY.

Верх страницы

Работа с обобщенными данными: GROUP BY и HAVING

Иногда вам нужно работать со сводными данными, такими как общий объем продаж за месяц или самые дорогие товары в инвентаре.Для этого вы применяете агрегатную функцию к полю в предложении SELECT. Например, если вы хотите, чтобы в вашем запросе отображалось количество адресов электронной почты, перечисленных для каждой компании, ваше предложение SELECT может выглядеть следующим образом:

ВЫБЕРИТЕ СЧЕТЧИК ([Адрес электронной почты]), Компания

Агрегатные функции, которые вы можете использовать, зависят от типа данных, содержащихся в поле или выражении, которое вы хотите использовать. Дополнительные сведения о доступных агрегатных функциях см. В статье Агрегатные функции SQL.

Указание полей, которые не используются в агрегатной функции: предложение GROUP BY

При использовании агрегатных функций обычно необходимо также создать предложение GROUP BY. В предложении GROUP BY перечислены все поля, к которым вы не применяете агрегатную функцию. Если вы применяете агрегатные функции ко всем полям в запросе, вам не нужно создавать предложение GROUP BY.

Предложение GROUP BY следует сразу за предложением WHERE или предложением FROM, если предложение WHERE отсутствует.В предложении GROUP BY перечислены поля в том виде, в котором они указаны в предложении SELECT.

Например, продолжая предыдущий пример, если ваше предложение SELECT применяет агрегатную функцию к [E-mail Address], но не к Company, ваше предложение GROUP BY будет выглядеть следующим образом:

ГРУППА ПО КОМПАНИИ

Дополнительные сведения о предложении GROUP BY см. В разделе Предложение GROUP BY.

Ограничение совокупных значений с помощью групповых критериев: предложение HAVING

Если вы хотите использовать критерии для ограничения результатов, но поле, к которому вы хотите применить критерии, используется в агрегатной функции, вы не можете использовать предложение WHERE.Вместо этого вы используете предложение HAVING. Предложение HAVING работает как предложение WHERE, но используется для агрегированных данных.

Например, предположим, что вы используете функцию AVG (которая вычисляет среднее значение) с первым полем в предложении SELECT:

ВЫБЕРИТЕ СЧЕТЧИК ([Адрес электронной почты]), Компания

Если вы хотите, чтобы запрос ограничивал результаты на основе значения этой функции COUNT, вы не можете использовать критерий для этого поля в предложении WHERE.Вместо этого вы помещаете критерии в предложение HAVING. Например, если вы хотите, чтобы запрос возвращал строки только в том случае, если с компанией связано несколько адресов электронной почты, предложение HAVING может выглядеть следующим образом:

HAVING COUNT ([E-mail Address])> 1

Примечание: Запрос может иметь предложение WHERE и предложение HAVING — критерии для полей, которые не используются в агрегатной функции, указываются в предложении WHERE, а критерии для полей, которые используются с агрегатными функциями, входят в предложение HAVING.

Дополнительные сведения о предложении HAVING см. В разделе Предложение HAVING.

Верх страницы

Объединение результатов запроса: UNION

Если вы хотите просмотреть все данные, возвращаемые несколькими похожими запросами на выборку вместе, как объединенный набор, вы используете оператор UNION.

Оператор UNION позволяет объединить два оператора SELECT в один. Комбинируемые операторы SELECT должны иметь одинаковое количество выходных полей в одном порядке и с одинаковыми или совместимыми типами данных.Когда вы запускаете запрос, данные из каждого набора соответствующих полей объединяются в одно выходное поле, так что выходные данные запроса имеют такое же количество полей, что и каждый из операторов выбора.

Примечание: Для целей запроса на объединение типы данных «Число» и «Текст» совместимы.

При использовании оператора UNION вы также можете указать, должны ли результаты запроса включать повторяющиеся строки, если таковые существуют, с помощью ключевого слова ALL.

Базовый синтаксис SQL для запроса на объединение, который объединяет два оператора SELECT, выглядит следующим образом:

 ВЫБРАТЬ поле_1 
ИЗ таблицы_1
СОЕДИНЕНИЕ [ВСЕ]
ВЫБРАТЬ поле_a
ИЗ таблицы_а
;

Например, предположим, что у вас есть таблица с именем Products и другая таблица с именем Services. В обеих таблицах есть поля, которые содержат название продукта или услуги, цену, гарантию или наличие гарантии, а также то, предлагаете ли вы продукт или услугу исключительно.Хотя в таблице «Продукты» хранится информация о гарантии, а в таблице «Услуги» хранится информация о гарантиях, основная информация остается неизменной (независимо от того, содержит ли конкретный продукт или услуга обещание качества). Вы можете использовать запрос на объединение, например следующий, чтобы объединить четыре поля из двух таблиц:

 ВЫБРАТЬ имя, цена, доступность_гарантии, эксклюзивное_предложение 
ИЗ ПРОДУКТОВ
СОЮЗ ВСЕ
ВЫБРАТЬ имя, цена, доступность_гарантии, эксклюзивное_предложение
ИЗ УСЛУГ
;

Дополнительные сведения о том, как объединить операторы SELECT с помощью оператора UNION, см. В разделе Объединение результатов нескольких запросов на выборку с помощью запроса объединения.

Верх страницы

Access SQL: основные понятия, словарь и синтаксис

Если вы хотите получить данные из базы данных, вы запрашиваете данные с помощью языка структурированных запросов или SQL. SQL — это компьютерный язык, который очень похож на английский, но его понимают программы баз данных. Каждый запрос, который вы выполняете, использует SQL за кулисами.

Понимание того, как работает SQL, может помочь вам создавать более качественные запросы и упростить понимание того, как исправить запрос, который не возвращает желаемых результатов.

Это одна из серии статей о Access SQL. В этой статье описывается базовое использование SQL для выбора данных и используются примеры для иллюстрации синтаксиса SQL.

В этой статье

Что такое SQL?

SQL — это компьютерный язык для работы с наборами фактов и отношениями между ними. Программы реляционных баз данных, такие как Microsoft Office Access, используют SQL для работы с данными. В отличие от многих компьютерных языков, SQL нетрудно читать и понимать даже новичку.Как и многие компьютерные языки, SQL — это международный стандарт, признанный такими организациями по стандартизации, как ISO и ANSI.

Вы используете SQL для описания наборов данных, которые могут помочь вам ответить на вопросы. При использовании SQL необходимо использовать правильный синтаксис. Синтаксис — это набор правил, по которым элементы языка правильно сочетаются. Синтаксис SQL основан на английском синтаксисе и использует многие из тех же элементов, что и синтаксис Visual Basic для приложений (VBA).

Например, простой оператор SQL, который извлекает список фамилий для контактов, имя которых Мэри, может выглядеть следующим образом:

 ВЫБРАТЬ Фамилию 
ИЗ контактов
ГДЕ Имя = 'Мэри';

Примечание. SQL используется не только для управления данными, но также для создания и изменения структуры объектов базы данных, таких как таблицы.Часть SQL, которая используется для создания и изменения объектов базы данных, называется языком определения данных (DDL). В этом разделе не рассматривается DDL. Дополнительные сведения см. В статье Создание или изменение таблиц или индексов с помощью запроса определения данных.

Операторы SELECT

Чтобы описать набор данных с помощью SQL, вы пишете оператор SELECT. Оператор SELECT содержит полное описание набора данных, которые вы хотите получить из базы данных.Это включает следующее:

  • Какие таблицы содержат данные.

  • Как связаны данные из разных источников.

  • Какие поля или вычисления будут производить данные.

  • Критерии, которым должны соответствовать данные для включения.

  • Следует ли и как сортировать результаты.

Пункты SQL

Как и предложение, в операторе SQL есть предложения. Каждое предложение выполняет функцию для оператора SQL. Некоторые предложения требуются в инструкции SELECT. В следующей таблице перечислены наиболее распространенные предложения SQL.

пункт SQL

Что делает

Требуется

ВЫБРАТЬ

Перечисляет поля, содержащие интересующие данные.

Есть

ИЗ

Перечисляет таблицы, содержащие поля, перечисленные в предложении SELECT.

Есть

ГДЕ

Задает критерии поля, которым должна соответствовать каждая запись, чтобы включить ее в результаты.

ЗАКАЗАТЬ В

Указывает, как сортировать результаты.

ГРУППА ПО

В операторе SQL, содержащем агрегатные функции, перечисляет поля, которые не суммированы в предложении SELECT.

Только если есть такие поля

ИМЕЕТ

В операторе SQL, содержащем агрегатные функции, определяет условия, которые применяются к полям, которые суммированы в операторе SELECT.

Условия SQL

Каждое предложение SQL состоит из терминов, сопоставимых с частями речи.В следующей таблице перечислены типы терминов SQL.

Условие SQL

Сопоставимая часть речи

Определение

Пример

идентификатор

существительное

Имя, которое вы используете для идентификации объекта базы данных, например имя поля.

Клиенты. [Телефон]

оператор

глагол или наречие

Ключевое слово, представляющее действие или изменяющее действие.

AS

постоянная

существительное

Неизменяемое значение, например число или NULL.

42

выражение

прилагательное

Комбинация идентификаторов, операторов, констант и функций, вычисляющая одно значение.

> = Товары.[Цена за единицу]

Верх страницы

Базовые предложения SQL: SELECT, FROM и WHERE

Оператор SQL имеет общую форму:

 ВЫБРАТЬ поле_1 
ИЗ таблицы_1
ГДЕ критерий_1
;

Примечания:

  • Access игнорирует разрывы строк в операторе SQL.Однако рассмотрите возможность использования строки для каждого предложения, чтобы улучшить читаемость ваших операторов SQL для себя и других.

  • Каждый оператор SELECT заканчивается точкой с запятой (;). Точка с запятой может стоять в конце последнего предложения или в отдельной строке в конце оператора SQL.

Пример в Access

Ниже показано, как может выглядеть оператор SQL для простого запроса выбора в Access:

1.Предложение SELECT

2. ИЗ пункта

3. Пункт

WHERE

Этот пример оператора SQL гласит: «Выберите данные, которые хранятся в полях с именем E-mail Address и Company из таблицы с именем Contacts, особенно те записи, в которых значением поля City является Сиэтл».

Давайте рассмотрим пример, по одному предложению за раз, чтобы увидеть, как работает синтаксис SQL.

Предложение SELECT

ВЫБЕРИТЕ [Адрес электронной почты], Компания

Это предложение SELECT.Он состоит из оператора (SELECT), за которым следуют два идентификатора ([Адрес электронной почты] и Компания).

Если идентификатор содержит пробелы или специальные символы (например, «Адрес электронной почты»), он должен быть заключен в квадратные скобки.

Предложение SELECT не должно указывать, какие таблицы содержат поля, и не может указывать какие-либо условия, которым должны удовлетворять включаемые данные.

Предложение SELECT всегда появляется перед предложением FROM в операторе SELECT.

Предложение FROM

ОТ КОНТАКТЫ

Это предложение FROM. Он состоит из оператора (FROM), за которым следует идентификатор (Контакты).

В предложении FROM не перечислены поля, которые нужно выбрать.

Предложение WHERE

ГДЕ Город = «Сиэтл»

Это предложение WHERE. Он состоит из оператора (WHERE), за которым следует выражение (City = «Seattle»).

Примечание: В отличие от предложений SELECT и FROM, предложение WHERE не является обязательным элементом оператора SELECT.

Многие действия, которые позволяет выполнять SQL, можно выполнять с помощью предложений SELECT, FROM и WHERE. Более подробная информация о том, как вы используете эти пункты, представлена ​​в этих дополнительных статьях:

Верх страницы

Сортировка результатов: ЗАКАЗАТЬ ПО

Как и Microsoft Excel, Access позволяет сортировать результаты запроса в таблице.Вы также можете указать в запросе, как вы хотите сортировать результаты при выполнении запроса, используя предложение ORDER BY. Если вы используете предложение ORDER BY, это последнее предложение в операторе SQL.

Предложение ORDER BY содержит список полей, которые вы хотите использовать для сортировки, в том же порядке, в котором вы хотите применять операции сортировки.

Например, предположим, что вы хотите, чтобы ваши результаты сначала были отсортированы по значению поля Компания в порядке убывания, а затем — если есть записи с таким же значением для Компании — отсортированы по значениям в поле Адрес электронной почты в возрастающем порядке. заказывать.Предложение ORDER BY будет выглядеть следующим образом:

ЗАКАЗАТЬ ПО компании DESC, [адрес электронной почты]

Примечание. По умолчанию Access сортирует значения в порядке возрастания (A – Z, от наименьшего к наибольшему). Вместо этого используйте ключевое слово DESC для сортировки значений в порядке убывания.

Дополнительные сведения о предложении ORDER BY см. В разделе Предложение ORDER BY.

Верх страницы

Работа с обобщенными данными: GROUP BY и HAVING

Иногда вам нужно работать со сводными данными, такими как общий объем продаж за месяц или самые дорогие товары в инвентаре.Для этого вы применяете агрегатную функцию к полю в предложении SELECT. Например, если вы хотите, чтобы в вашем запросе отображалось количество адресов электронной почты, перечисленных для каждой компании, ваше предложение SELECT может выглядеть следующим образом:

ВЫБЕРИТЕ СЧЕТЧИК ([Адрес электронной почты]), Компания

Агрегатные функции, которые вы можете использовать, зависят от типа данных, содержащихся в поле или выражении, которое вы хотите использовать. Дополнительные сведения о доступных агрегатных функциях см. В статье Агрегатные функции SQL.

Указание полей, которые не используются в агрегатной функции: предложение GROUP BY

При использовании агрегатных функций обычно необходимо также создать предложение GROUP BY. В предложении GROUP BY перечислены все поля, к которым вы не применяете агрегатную функцию. Если вы применяете агрегатные функции ко всем полям в запросе, вам не нужно создавать предложение GROUP BY.

Предложение GROUP BY следует сразу за предложением WHERE или предложением FROM, если предложение WHERE отсутствует.В предложении GROUP BY перечислены поля в том виде, в котором они указаны в предложении SELECT.

Например, продолжая предыдущий пример, если ваше предложение SELECT применяет агрегатную функцию к [E-mail Address], но не к Company, ваше предложение GROUP BY будет выглядеть следующим образом:

ГРУППА ПО КОМПАНИИ

Дополнительные сведения о предложении GROUP BY см. В разделе Предложение GROUP BY.

Ограничение совокупных значений с помощью групповых критериев: предложение HAVING

Если вы хотите использовать критерии для ограничения результатов, но поле, к которому вы хотите применить критерии, используется в агрегатной функции, вы не можете использовать предложение WHERE.Вместо этого вы используете предложение HAVING. Предложение HAVING работает как предложение WHERE, но используется для агрегированных данных.

Например, предположим, что вы используете функцию AVG (которая вычисляет среднее значение) с первым полем в предложении SELECT:

ВЫБЕРИТЕ СЧЕТЧИК ([Адрес электронной почты]), Компания

Если вы хотите, чтобы запрос ограничивал результаты на основе значения этой функции COUNT, вы не можете использовать критерий для этого поля в предложении WHERE.Вместо этого вы помещаете критерии в предложение HAVING. Например, если вы хотите, чтобы запрос возвращал строки только в том случае, если с компанией связано несколько адресов электронной почты, предложение HAVING может выглядеть следующим образом:

HAVING COUNT ([E-mail Address])> 1

Примечание: Запрос может иметь предложение WHERE и предложение HAVING — критерии для полей, которые не используются в агрегатной функции, указываются в предложении WHERE, а критерии для полей, которые используются с агрегатными функциями, входят в предложение HAVING.

Дополнительные сведения о предложении HAVING см. В разделе Предложение HAVING.

Верх страницы

Объединение результатов запроса: UNION

Если вы хотите просмотреть все данные, возвращаемые несколькими похожими запросами на выборку вместе, как объединенный набор, вы используете оператор UNION.

Оператор UNION позволяет объединить два оператора SELECT в один. Комбинируемые операторы SELECT должны иметь одинаковое количество выходных полей в одном порядке и с одинаковыми или совместимыми типами данных.Когда вы запускаете запрос, данные из каждого набора соответствующих полей объединяются в одно выходное поле, так что выходные данные запроса имеют такое же количество полей, что и каждый из операторов выбора.

Примечание: Для целей запроса на объединение типы данных «Число» и «Текст» совместимы.

При использовании оператора UNION вы также можете указать, должны ли результаты запроса включать повторяющиеся строки, если таковые существуют, с помощью ключевого слова ALL.

Базовый синтаксис SQL для запроса на объединение, который объединяет два оператора SELECT, выглядит следующим образом:

 ВЫБРАТЬ поле_1 
ИЗ таблицы_1
СОЕДИНЕНИЕ [ВСЕ]
ВЫБРАТЬ поле_a
ИЗ таблицы_а
;

Например, предположим, что у вас есть таблица с именем Products и другая таблица с именем Services. В обеих таблицах есть поля, которые содержат название продукта или услуги, цену, гарантию или наличие гарантии, а также то, предлагаете ли вы продукт или услугу исключительно.Хотя в таблице «Продукты» хранится информация о гарантии, а в таблице «Услуги» хранится информация о гарантиях, основная информация остается неизменной (независимо от того, содержит ли конкретный продукт или услуга обещание качества). Вы можете использовать запрос на объединение, например следующий, чтобы объединить четыре поля из двух таблиц:

 ВЫБРАТЬ имя, цена, доступность_гарантии, эксклюзивное_предложение 
ИЗ ПРОДУКТОВ
СОЮЗ ВСЕ
ВЫБРАТЬ имя, цена, доступность_гарантии, эксклюзивное_предложение
ИЗ УСЛУГ
;

Дополнительные сведения о том, как объединить операторы SELECT с помощью оператора UNION, см. В разделе Объединение результатов нескольких запросов на выборку с помощью запроса объединения.

Верх страницы

режимов доступа к базе данных | SqlHints.com

В этой статье мы рассмотрим следующие аспекты режимов доступа пользователей к базе данных:

  1. Каковы различные режимы доступа пользователей к базе данных и их значение?
  2. Как настроить базу данных для разных режимов доступа пользователей?
  3. Как проверить режим доступа текущего пользователя к базе данных?

Давайте рассмотрим перечисленные выше темы по очереди:

1.Каковы различные режимы доступа пользователей к базе данных Sql Server и их значения?

Ниже приведены три возможных различных режима доступа пользователей на сервере Sql:

i) SINGLE_USER Режим доступа к базе данных

В режиме доступа SINGLE_USER в любой момент времени только один пользователь может получить доступ к базе данных. Пользователь может быть любым пользователем, имеющим доступ к базе данных.

Примечание. Перед установкой для базы данных однопользовательского режима обязательно ОСТАНОВИТЕ агент сервера sql или посмотрите, не задано ли для какой-либо опции AUTO_UPDATE_STATISTICS_ASYNC значение OFF.В противном случае агент сервера Sql или фоновый поток, который обновляет статистику, может использовать единственное разрешенное соединение.

ii) Режим доступа RESTRICTED_USER

В режиме доступа RESTRICTED_USER могут получить доступ только пользователи, имеющие разрешение db_owner или db_creator. Пользователи, принадлежащие к фиксированной роли сервера sysadmin, также могут получить доступ к базе данных, которая находится в режиме доступа RESTRICTED_USER.

В любой момент времени пользователи ZERO или Many могут получить доступ к базе данных, если они указали разрешение, как упомянуто ранее.

iii) Режим доступа MULTI_USER

Это режим доступа пользователя к базе данных по умолчанию. В этом режиме доступа пользователей к базе данных любой пользователь, имеющий разрешение на доступ к базе данных, может получить доступ к базе данных.

2. Как настроить базу данных для разных режимов доступа пользователей?

Для этой демонстрации давайте сначала создадим образец демонстрационной базы данных с указанием ниже:

 СОЗДАТЬ БАЗУ ДАННЫХ SqlHintsDBAccessDEMO
GO 

i) Как установить базу данных в режим доступа к базе данных SINGLE_USER?

Мы можем использовать сценарий, как показано ниже, чтобы установить базу данных в SINGLE_USER Database Access Mode

 ИСПОЛЬЗОВАТЬ SqlHintsDBAccessDEMO
ИДТИ
ALTER DATABASE SqlHintsDBAccessDEMO
УСТАНОВИТЕ SINGLE_USER С НЕМЕДЛЕННЫМ ОТКАТОМ 

Когда база данных находится в однопользовательском режиме и если к базе данных уже подключен один пользователь, последующий запрос на подключение к базе данных завершится ошибкой с сообщением об ошибке, как показано ниже:

Msg 924, уровень 14, состояние 1, строка 1
База данных «SqlHintsDBAccessDEMO» уже открыта и может иметь только одного пользователя одновременно.

ii) Как установить для базы данных RESTRICTED_USER режим доступа к базе данных?

Мы можем использовать сценарий, как показано ниже, чтобы установить базу данных в RESTRICTED_USER Режим доступа к базе данных

 ИСПОЛЬЗОВАТЬ SqlHintsDBAccessDEMO
ИДТИ
ALTER DATABASE SqlHintsDBAccessDEMO
УСТАНОВИТЕ RESTRICTED_USER С НЕМЕДЛЕННЫМ ОТКАТОМ 

iii) Как установить базу данных в режим доступа к базе данных MULTI_USER?

Мы можем использовать сценарий, как показано ниже, чтобы установить базу данных в режим доступа к базе данных MULTI_USER

 ИСПОЛЬЗОВАТЬ SqlHintsDBAccessDEMO
ИДТИ
ALTER DATABASE SqlHintsDBAccessDEMO
УСТАНОВИТЬ MULTI_USER 

ПРИМЕЧАНИЕ. Параметр «С НЕМЕДЛЕННЫМ ОТКАТОМ» ALTER Database вызывает откат всех незавершенных транзакций и немедленное отключение любых других подключений к базе данных.

3. Как проверить режим доступа текущего пользователя к базе данных?

Примеры ниже показывают, как мы можем проверить текущий режим доступа пользователя к базе данных:

Пример 1: Мы можем использовать функцию DATABASEPROPERTYEX () для проверки режима доступа пользователя к базе данных.

 SELECT DATABASEPROPERTYEX ('SqlHintsDBAccessDEMO', 'UserAccess')
                      AS 'Текущий режим доступа к базе данных' 

РЕЗУЛЬТАТ:

Пример 2: Мы также можем использовать sys.представление каталога баз данных для проверки режима доступа пользователя к базе данных.

 ВЫБРАТЬ user_access_desc
ИЗ SYS.databases, ГДЕ name = 'SqlHintsDBAccessDEMO' 

РЕЗУЛЬТАТ:

Пример 3: Ниже в примерах показано, как мы можем проверить, находится ли база данных в режиме доступа MULTI_USER.

 ЕСЛИ (DATABASEPROPERTYEX ('SqlHintsDBAccessDEMO', 'UserAccess')
                         = 'MULTI_USER')
PRINT 'База данных находится в режиме MULTI_USER'
ИДТИ
ЕСЛИ (ВЫБРАТЬ user_access_desc
   ОТ SYS.базы данных WHERE name = 'SqlHintsDBAccessDEMO')
             = 'MULTI_USER'
PRINT 'База данных находится в режиме MULTI_USER' 

РЕЗУЛЬТАТ:

Если мы хотим проверить, находится ли база данных в однопользовательском режиме, мы можем использовать сценарии, как показано ниже:

ЕСЛИ (DATABASEPROPERTYEX ('SqlHintsDBAccessDEMO', 'UserAccess')
                  = 'SINGLE_USER')
PRINT 'База данных находится в режиме SINGLE_USER'
ИДТИ
ЕСЛИ (ВЫБРАТЬ user_access_desc
   ОТ SYS.базы данных WHERE name = 'SqlHintsDBAccessDEMO')
               = 'SINGLE_USER'
PRINT 'База данных находится в режиме SINGLE_USER' 

Если мы хотим проверить, находится ли база данных в ограниченном пользовательском режиме, мы можем использовать скрипты, как показано ниже:

ЕСЛИ (DATABASEPROPERTYEX ('SqlHintsDBAccessDEMO', 'UserAccess')
                  = 'RESTRICTED_USER')
PRINT 'База данных находится в режиме RESTRICTED_USER'
ИДТИ
ЕСЛИ (ВЫБРАТЬ user_access_desc
   ИЗ SYS.databases, ГДЕ name = 'SqlHintsDBAccessDEMO')
                          = 'RESTRICTED_USER'
PRINT 'База данных находится в режиме RESTRICTED_USER' 

Справка по Microsoft Office Access 2003

Справка по Microsoft Office Access 2003 — Документация по Microsoft Office Access 2003
Microsoft Office Access 2003

Содержание

  • Запуск и настройки
    • Что нового в Microsoft Office Access 2003
    • Начать работу с Access 2003
    • Способы начать работу, если вы использовали другие приложения для работы с базами данных или электронных таблиц
    • Способы начать работу, если вы впервые используете базу данных
    • Доступ к глоссарию
    • Характеристики доступа
    • Об активации продукта в продуктах Microsoft Office System
    • Что нового в Microsoft Office 2003
    • Заявление об ограничении ответственности: использование вымышленных имен
    • Условия эксплуатации
    • Получать помощь
    • Доступность
    • Установка и настройка
      • Что установлено с Access 2003
      • Какие мастера установлены в Access 2003
      • Изменить внешний вид офиса
      • Компоненты и надстройки
      • Настройка рабочего стола
      • Настройка доступа
      • Панели инструментов и команды
        • О меню и панелях инструментов
        • Назначьте строку глобального меню или контекстное меню
        • Создать панель инструментов
        • Добавить кнопку, меню или команду
        • Назначьте гиперссылку кнопке панели инструментов или команде меню
        • Удалить панель инструментов, кнопку или команду
        • Добавить или удалить ярлык на панели «Мои метки»
        • Перемещение или копирование кнопки, меню или команды меню
        • Переименовать панель инструментов, команду или кнопку
        • Добавить подменю в меню
        • Показывать только кнопки веб-панели инструментов
        • Настроить контекстное меню
        • Группируйте связанные кнопки и меню на панели инструментов
        • Переместите подменю в любое место на экране
        • Показать или скрыть панель инструментов
        • Добавить функцию к кнопке или команде
        • Добавить ключ доступа к меню, команде или кнопке
        • Преобразование макроса меню предыдущей версии в меню
        • Импортировать меню и панели инструментов
        • Переместить панель инструментов
        • Восстановить исходные настройки панели инструментов, кнопок и команд
        • Показать все кнопки или команды
        • Анимировать меню
        • Изменить размер панели инструментов
        • Добавление, изменение или удаление звуков, используемых с кнопками и командами меню
        • Изменить картинку на кнопке
        • Изменение размера кнопки панели инструментов или раскрывающегося списка
        • Создать настраиваемую панель инструментов
        • Отображение значка, текста или того и другого в команде или кнопке меню
        • Прикрепите меню или панель инструментов к форме или отчету
        • Постоянное отображение палитр при разработке формы или отчета
        • Добавить кнопку для набора выбранного номера телефона
        • Управляйте отображением всех встроенных панелей инструментов и меню
        • Управление отображением некоторых или всех встроенных меню
        • Запретить или разрешить изменение панелей инструментов, кнопок или команд
        • Устранение неполадок с панелями инструментов
      • Настройка приложения Access
      • Параметры реестра Windows
      • Добавление специальной справки
      • Устранение неполадок при установке Office
    • Использование Microsoft Office
    • Управление файлами
    • Почерк и речь
  • Печать
  • Создание и работа с базами данных и объектами
  • Работа с данными
  • Выражения
  • Доступ к проектам
  • Репликация базы данных
  • Безопасность и конфиденциальность
  • Доступ и Интернет
  • Обмен информацией
  • Программируемость
  • Особенности языка

Создание запроса с использованием CREATE в режиме SQL

SQL — это комплексный способ запроса вашей базы данных.Используйте эти разделы, чтобы получить уверенность в использовании:

  • Шаблон SQL

  • Основные ключевые слова SQL в простом запросе

  • CA Dataquery

    для решения бизнес-задачи

При желании вы можете следовать следующим урокам, используя свои собственные данные и правильные имена для вашей собственной базы данных.

Перед первым чтением этих разделов рекомендуется ознакомиться с концепциями баз данных и терминологией, обсуждаемой в разделе «Понимание терминологии».В следующих разделах представлены концепции построения базового запроса с использованием

CA Dataquery

EDITOR. В них входят:
  • Краткий обзор панели РЕДАКТОР

  • Советы по планированию запроса

  • Пример типичной бизнес-ситуации и образец запроса, который соответствует потребности

  • Учебное пособие по созданию образца запроса

  • Информация об определении формата отчета по умолчанию для использования при выполнении запроса

В этих разделах содержится достаточно информации, чтобы вы могли начать создавать свои собственные запросы SQL в РЕДАКТОРЕ.Они также предоставляют введение в некоторые расширенные возможности запросов SQL и определение формата вывода запроса.

На этой странице обсуждаются следующие темы:

Вы можете выбрать один из нескольких методов для создания нового запроса. Вы можете использовать Guided или

CA Dataquery

EDITOR, доступный с функцией CREATE. И вы можете получить доступ к РЕДАКТОРУ любым из способов, описанных в разделе Доступ к РЕДАКТОРУ. Однако, прежде чем делать что-либо из этого, вы должны иметь общее представление о том, чего вы хотите достичь, прежде чем начать.

Перед созданием запроса вы должны знать следующее:

  • Какие данные сообщать.

  • Идентификаторы авторизации для таблиц, в которых будет выполняться поиск, если таблицы не идентифицируются по вашему идентификатору авторизации.

  • Следует ли выбирать только определенные строки данных (например, только данные для определенных почтовых индексов).

Вам необходимо решить следующее:

  • Какие таблицы базы данных содержат нужные вам данные.

  • Следует ли искать более чем в одной таблице.

При планировании запроса вы должны быть знакомы с опциями определения формата, доступными на панелях выполнения. Получение отчета предоставляет подробную информацию о спецификациях формата отчета, включая контрольные разрывы, промежуточные и итоговые суммы.

CA Dataquery

может предоставить онлайн-информацию о таблицах и столбцах для идентификатора авторизации SQL, отображаемого на панели ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ.(Для получения дополнительной информации см. Управление профилем пользователя CA Dataquery.) Администратор

CA Dataquery

может получить отчет

CA Datacom® Datadictionary ™

, в котором перечислены имена таблиц и столбцов, а также другая соответствующая информация.

При написании запроса или диалогового окна существуют определенные ограничения того, что вы можете делать. Вам не следует:

  • Используйте слова, значение которых может быть неправильно истолковано

    CA Dataquery

    .
  • Превышено ограничение строки для конкретного сайта панели РЕДАКТОР.(Пределы строк зависят от определенных параметров установки. Информацию об ограничениях сайта можно получить у администратора

    CA Dataquery

    .)
  • Присоединитесь к более чем десяти таблицам базы данных или таблицам результатов.

Базовая процедура создания запроса

На следующей диаграмме показаны этапы создания запроса с помощью функции СОЗДАТЬ в главном меню. В нем представлен обзор шагов, описанных в следующем разделе. По мере накопления опыта вы можете изменить порядок некоторых шагов.

3

Отобразите шаблон SQL и выберите предложения, необходимые для запроса, чтобы создать настраиваемый шаблон. Подробности см. В разделе Шаг 3. Использование шаблона SQL.

4

Измените шаблон запроса, который вы create Используйте строковые команды и клавиши клавиатуры для изменения предложений шаблона при создании запроса. См. Подробности с 1 по Edit ORDER BY Clause.

6

Сохраните запрос

Сохраните запрос с указанным именем, чтобы его можно было снова использовать позже. (Вы также можете изменить его позже и обновить свои изменения, если это необходимо.)

7

Заполните панель ONLINE EXECUTION и определите отчет, который вы хотите, если вы не хотите использовать значения по умолчанию . Затем выполните запрос. См. Шаг 7: Форматирование отчета и Выполнение запроса для получения дополнительной информации.

Написание образца SQL-запроса

Используйте этот раздел, чтобы получить общее представление о том, как работает функция CREATE. Когда вы закончите, вы поймете, как создать базовый запрос с помощью РЕДАКТОРА, а также узнаете некоторые основные факты о

CA Dataquery

.

В этом разделе представлен обзор процедуры, задействованной при создании планового запроса. В руководстве представлены основные концепции построения запросов, введение в SQL и перечислены дополнительные концепции и функции.

Вы можете следовать руководству и создать свой собственный запрос. Просто выберите в своей базе данных таблицу, содержащую как символьные, так и числовые данные, и следуйте инструкциям на следующих страницах (используя правильные имена для ваших данных).

Предположим, вы менеджер по продажам и хотите увеличить количество заказов от существующих клиентов. Вы рассматриваете идею предложения скидок на заказы, превышающие 1000 долларов США. Вы хотите знать, сколько таких заказов было размещено в 2010 году. Имея эту информацию, вы можете оценить, во что обойдется компания.Вы также хотите знать, какие продавцы получили эти заказы. Вы хотите встретиться с ними, чтобы обсудить идею.

Ниже описаны общие этапы решения предыдущей бизнес-проблемы.

  • Определите потребность

    Создайте запрос, который создает отчет, содержащий эту информацию:
    • Какие клиенты разместили заказы на сумму более 1000 долларов в 1987 году?

    • Какие продавцы должны присутствовать на встрече?

  • Визуализировать отчет

    Определите, как должен выглядеть отчет.
  • Обозначить таблицы

    Узнайте, какие таблицы содержат необходимые данные.
  • Определить столбцы

    Узнайте, на какие столбцы следует ссылаться, чтобы найти данные.
  • Принять решение

    Определите, может ли существующий запрос или диалоговое окно создать отчет. Если нет, решите, хотите ли вы скопировать и отредактировать существующий запрос (или диалоговое окно) или написать свой собственный. Если вы хотите написать свой собственный, решите, использовать ли GUIDE, CREATE или DRAW.Если существующий запрос был создан вами, вы можете обновить его. Обязательно внесите соответствующие изменения в формат отчета.
  • Начать создание запроса

    Выберите СОЗДАТЬ в главном меню.
  • Определить отчет

    Доступ к панели ОНЛАЙН ИСПОЛНЕНИЕ для созданного запроса. Выберите ФОРМАТИРОВАТЬ ОТЧЕТ и введите параметры печати. Эти спецификации печати сохраняются и становятся значениями по умолчанию для запроса при каждом его выполнении.

Ниже приведен пример того, как должен выглядеть ваш отчет:

 

=> 21.06.11 15:25:00 REP_ID ORD_AMT NAME -------- ------- ------------------------------ 34222 1021.89 DRISCOLL CO. 34222 1919.11 DRISCOLL CO. 34222 2001.95 ПРИБОРЫ FOX И СЫН 34222 2112.00 INGERSOLL DIE CO. 35111 1311.00 АБЕРНАТИЧЕСКАЯ САНТЕХНИКА 35111 1578.90 WILSON TOOLS CO 44123 1477.00 AUSTIN TOOLS CO. 44123 1230.00 МАКСВЕЛЛ ИНСТРУМЕНТЫ CO 44222 7329.34 BENTLEY ПРОИЗВОДСТВО 44222 1778.00 ФАРБЕРНЫЙ ИНСТРУМЕНТ И ПЛАСТИНА

Сравните пронумерованные элементы в образце отчета, чтобы получить описание каждого элемента, о котором вы хотите знать.

REP_ID

Отсортируйте соответствующие данные, найденные по идентификатору продавца, и распечатайте этот идентификатор в качестве первого столбца в отчете.

ORD_AMT

Отсортируйте квалификационные данные для каждого продавца по сумме заказа. Выведите соответствующие суммы заказа во второй столбец отчета.

НАЗВАНИЕ

Распечатайте имя клиента для каждого заказа в третьем столбце отчета.

Создание образца запроса

В следующем разделе описывается создание запроса, который создает образец отчета о целях.Ниже приведен пример того, как запрос выглядит на панели редактора:

 

=> -------------------------------------------------- ------------------------ DQD10 ЗАПРОС: ТЕКУЩАЯ ТАБЛИЦА РЕДАКТОРА: ________________________________ -------------------------------------------------- ----------------------------- ИМЯ: ТИП SQLBASIC: СОСТОЯНИЕ SQL: ПУБЛИЧНЫЙ ОПИСАНИЕ: ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 ....+ .... 5 .... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ GLS_CUST_TABLE, GLS_ACCTS_TABLE 03 ГДЕ GLS_CUST_TABLE.CUST_ID = GLS_ACCTS_TABLE.CUST_ID 04 И GLS_ACCTS_TABLE.ORD_AMT> = 01000.00 05 ЗАКАЗ ПО REP_ID, ORD_AMT, NAME .. =========================== ВНИЗ ==================== ============== -------------------------------------------------- ----------------------------- ПОМОЩЬ ВОЗВРАТ ДИСПЛЕЙНЫЕ КОЛОНКИ ДИСПЛЕЙНЫЕ КЛАВИШИ ОТОБРАЖАТЬ ВСЕ СПИСОК ТАБЛИЦ НАЗАД ВПЕРЕД ШАБЛОН ПРОВЕРЬТЕ ВПРАВО / ВЛЕВО РЕЖИМ ПРОЦЕССА

В следующей таблице дается краткое описание четырех основных предложений SQL.

SELECT

Имена столбцов

Имена столбцов, содержащих данные, необходимые для отчета. Задает порядок выходных столбцов.

ИЗ

Имена таблиц

Задает имена таблиц, в которых находятся столбцы, указанные в предложении SELECT.

Условия поиска

Задает критерии, которым должны соответствовать данные, чтобы их можно было использовать для объединения таблиц или выбора строк.

ЗАКАЗАТЬ ПО

Имена столбцов

Задает порядок сортировки данных в том виде, в котором они отображаются в отчете.

CA Dataquery

позволяет использовать ряд ключевых слов SQL:
  • ИЗМЕНИТЬ

  • КОММЕНТАРИЙ

  • СОЗДАТЬ ИНДЕКС

  • СОЗДАТЬ СИНОНИМ

  • СОЗДАТЬ ТАБЛИЦУ

  • СОЗДАТЬ ПРОСМОТР

  • УДАЛИТЬ СИНОНИМ

    5 DEPO

  • DEP

    5

    5 DEPO

  • DROP VIEW

  • GRANT

  • INSERT

  • REVOKE

  • SELECT

  • UPDATE

Отчет, необходимый для этого примера, представляет собой отчет по умолчанию, созданный

CA Dataquery

, и дополнительное форматирование не требуется.Если для решения бизнеса требуются промежуточные итоги, контрольные перерывы или математические функции, эти спецификации могут быть сделаны во время выполнения. Подробности см. В шаге 2: определение отчета в режиме SQL.

Шаг 1 Отображение панели РЕДАКТОРА

В этом разделе описывается, как отобразить панель РЕДАКТОРА.

Выберите СОЗДАТЬ в главном меню, чтобы отобразить

CA Dataquery

EDITOR.

Вы можете изменить существующий запрос вместо того, чтобы начинать с пустой панели РЕДАКТОР. Чтобы отобразить запрос, введите команду EDIT, а затем имя запроса в командной строке.При изменении записи в поле NAME это новый запрос, созданный вами. Затем вы можете изменить любую часть запроса и сохранить ее как свою.

Вы также можете ввести команду DRAW и имя таблицы в командной строке, нажать Enter и увидеть отображение панели EDITOR, содержащей простой запрос с предложением SELECT, в котором перечислены все имена столбцов, и предложением FROM с именем таблицы. Затем вы можете отредактировать основной запрос. См. Подробности в разделе «Выбор метода создания запроса».

Шаг 2 Определите запрос

В этом разделе описывается, как дать запросу имя, статус библиотеки и описание.

После того, как вы выберете СОЗДАТЬ в главном меню, вы увидите следующую панель РЕДАКТОРА (DQD10).

 

=> ПАНЕЛЬ СОЗДАНИЯ -------------------------------------------------- ------------------------ DQD10 ЗАПРОС: ТЕКУЩАЯ ТАБЛИЦА РЕДАКТОРА: ________________________________ -------------------------------------------------- ----------------------------- ИМЯ: _______________ ТИП: ______ СТАТУС: _______ ОПИСАНИЕ: ___________________________________________________________ .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + .... 5. ... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== .. .. .. .. .. .. .. .. .. =========================== ВНИЗ ====================== ============ -------------------------------------------------- ----------------------------- ПОМОЩЬ ВОЗВРАТ ДИСПЛЕЙНЫЕ КОЛОНКИ ДИСПЛЕЙНЫЕ КЛАВИШИ ОТОБРАЖАТЬ ВСЕ СПИСОК ТАБЛИЦ НАЗАД ВПЕРЕД ШАБЛОН ПРОВЕРЬТЕ ВПРАВО / ВЛЕВО РЕЖИМ ПРОЦЕССА

Вам не нужно называть запрос, пока вы его не сохраните.Однако, если вы хотите проверить или выполнить его, вы должны указать ему тип. С таким же успехом вы можете определить запрос в качестве первого шага.

Вот что вам следует знать об идентификации запроса:

  • НАИМЕНОВАНИЕ:

    Имя запроса должно быть уникальным в пределах назначенной ему библиотеки и должно состоять из одного слова, содержащего от 1 до 15 буквенных символов, цифр, подчеркиваний или специальных символов. Обязательно ознакомьтесь с разделом Ограничения имен, чтобы узнать о важных ограничениях на имена.
  • ТИП:

    Допустимые записи: QUERY или DIALOG.Диалог позволяет пользователям заменять переменные в запросе. Для получения информации об использовании

    CA Dataquery

    EDITOR для создания диалоговых окон см..
  • СТАТУС:

    Допустимые записи: ЧАСТНАЯ и ОБЩЕСТВЕННАЯ. Вы можете обновлять и удалять запросы, сохраненные в вашей частной библиотеке. Если вы назначаете запрос публичной библиотеке, вы не можете изменить или удалить его после сохранения запроса, если ваш сайт не разрешает автору публичного запроса изменять его. Обратитесь к администратору

    CA Dataquery

    для получения дополнительной информации.

    Если вы решили обновить принадлежащий вам запрос, вам также может потребоваться обновить формат отчета. Некоторые изменения вызывают появление сообщения об ошибке с предупреждением о том, что формат не соответствует запросу. Другие, такие как добавление новых столбцов или новых операторов ORDER BY, не повлияют на процесс проверки формата отчета и, следовательно, не вызовут появление сообщения. Дополнительные сведения об изменении формата отчета по умолчанию при изменении запроса см. В разделе Изменение формата отчета SQL.

  • ОПИСАНИЕ:

    Описание должно указывать на цель запроса и отмечать все, что делает его уникальным.Его длина не может превышать 60 символов.

Используйте клавишу Tab для перемещения курсора по очереди к каждому полю: ИМЯ, ТИП, СОСТОЯНИЕ и ОПИСАНИЕ. На следующей диаграмме показаны соответствующие записи для образца запроса.

ИМЯ

SQLSAMPLE01

Имя указывает, что это запрос SQL и что это первый созданный пример запроса.

ТИП

ЗАПРОС

Не требует пояснений.

СТАТУС

ОБЩЕСТВЕННЫЙ

Запрос должен быть доступен другим пользователям.

ОПИСАНИЕ

ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА

Описывает цель запроса, когда его имя указано в каталоге.

На следующем рисунке показаны заполненные поля идентификации для образца запроса.

 

ЗАПРОС ДАННЫХ: ТЕКУЩАЯ ТАБЛИЦА РЕДАКТОРА: ________________________________ -------------------------------------------------- ----------------------------- ИМЯ: SQLSAMPLE01____ ТИП: ЗАПРОС_ СТАТУС: ПУБЛИКА_ ОПИСАНИЕ: ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА _________________________________________ .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + .... 5. ... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ======================

Вы можете включить дополнительную информацию о самом запросе в описание. Например, вы можете перечислить отчетные столбцы или назвать таблицы, к которым осуществляется доступ, в описании запроса. Вы также можете сделать свои запросы ЧАСТНЫМИ, пока не будете уверены, что хотите поделиться ими с другими пользователями.

Шаг 3 Используйте шаблон SQL

В этом разделе описывается, как отобразить шаблон SQL и скопировать из него синтаксис на панель РЕДАКТОР, чтобы создать настраиваемый шаблон для запроса.После отображения панели РЕДАКТОР в режиме создания и определения нового запроса вы можете приступить к созданию запроса.

На этом шаге вы узнаете, как отобразить шаблон SQL и скопировать из него необходимый синтаксис на панель РЕДАКТОРА.

Ниже описаны шаги, необходимые для отображения и копирования синтаксиса на панель РЕДАКТОР в режиме создания.

  • Шаг 1

    На панели РЕДАКТОР (режим создания) переместите курсор в первую позицию в области ввода текста.
  • Шаг 3

    Просмотрите панель шаблона запроса (DQD50), показанную ниже:
 

=> Поместите непустое поле рядом с каждым утверждением, которое должно быть включено в запрос. -------------------------------------------------- ------------------------ DQD50 ЗАПРОС ДАННЫХ: ШАБЛОН ЗАПРОСА -------------------------------------------------- ----------------------------- Слова в нижнем регистре представляют записи, которые должен быть заменен пользователем. Круглые скобки указывают на необязательные записи: их можно включить, удалив только круглые скобки или удалить, удалив как круглые скобки, так и данные.-------------------------------------------------- ----------------------------- _ ВЫБРАТЬ столбец1, столбец2, счетчик (столбец3) _ ИЗ таблицы1, таблицы2 _ ГДЕ table1.column1 = table2.column2 и column3> 0 _ ГРУППА ПО столбцу 1, столбцу 2 _ ORDER BY column1 -------------------------------------------------- ----------------------------- ПОМОЩЬ ВОЗВРАТ НЕ ИСПОЛЬЗУЕТСЯ НЕ ИСПОЛЬЗУЕТСЯ НЕ ИСПОЛЬЗУЕТСЯ НЕ ИСПОЛЬЗУЕТСЯ НАЗАД ВПЕРЕД

  • Шаг 4

    Поместите символ в поле перед каждым ключевым словом, необходимым для нового запроса.

В следующем примере показано, как выглядит панель РЕДАКТОР (DQD10) при копировании синтаксиса из панели «Шаблон SQL».

 

=> -------------------------------------------------- ------------------------ DQD10 ЗАПРОС: ТЕКУЩАЯ ТАБЛИЦА РЕДАКТОРА: ________________________________ -------------------------------------------------- ----------------------------- ИМЯ: SQLSAMPLE01 ТИП: СОСТОЯНИЕ SQL: ПУБЛИЧНЫЙ ОПИСАНИЕ: ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА __________________________________________ .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + .... 5. ... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== 01 ВЫБРАТЬ столбец1, столбец2, счетчик (столбец3) 02 ИЗ table1, table2 03 ГДЕ table1.column1 = table2.column2 и column3> 0 04 ORDER BY column1 .. =========================== ВНИЗ ==================== ============== -------------------------------------------------- ----------------------------- ПОМОЩЬ ВОЗВРАТ ДИСПЛЕЙНЫЕ КОЛОНКИ ДИСПЛЕЙНЫЕ КЛАВИШИ ПОКАЗАТЬ ВСЕ СПИСОК ТАБЛИЦ НАЗАД ВПЕРЕД ШАБЛОН ПРОВЕРЬТЕ ВПРАВО / ВЛЕВО РЕЖИМ ПРОЦЕССА

Ниже приводится руководство по другим вещам, которые вы можете делать при использовании шаблона SQL.

  • Посмотрите на синтаксис

    Вы можете использовать шаблон только как панель справки, ничего не вводя в поля шаблона.
  • Копировать по одному пункту за раз

    Вы можете обращаться к шаблону столько раз, сколько захотите, и копировать каждое предложение отдельно, где и когда вы решите, что оно вам нужно.
  • Не использовать шаблон

    Вы можете просто ввести свой запрос в область ввода текста, не отображая шаблон.

Шаг 4 Использование ключевых слов SQL

Когда пункты панели «Шаблон SQL», необходимые для запроса, копируются в панель «РЕДАКТОР», существует шаблон для нового запроса. Следующим шагом является использование РЕДАКТОРА для изменения шаблона и ввода определенных имен таблиц и столбцов для завершения написания запроса.

В оставшихся разделах этого шага обсуждается создание предложений, выбранных для примера запроса: SELECT, FROM, WHERE и ORDER BY. Информация, представленная в руководстве, обеспечивает хорошую основу для создания простых запросов.

Предложение GROUP BY создает результаты запроса, где каждая строка в таблице результатов состоит из результатов математических функций, примененных к группе данных. GROUP BY требуется только в том случае, если вы применяете математические функции к одним столбцам, а не к другим. Определения формата отчета, которые создаются во время выполнения запроса, могут предоставлять результаты, аналогичные GROUP BY, а также предоставлять подробные строки в выходных данных запроса; поэтому пример запроса и этот раздел не ссылаются на GROUP BY.

Ниже приводится общая информация о написании запросов.

  • Правила размещения:

    Неважно, сколько пробелов вы вводите между словами в предложении. Также не имеет значения, хотите ли вы вводить все предложения в одной строке (если они подходят) или расположить их в виде списка. Примеры в этом руководстве показывают форматированные запросы с одним пробелом между каждым словом, потому что их легче читать большинству людей.
  • Правила заказа:

    Порядок, в котором вы используете ключевые слова SQL, важен.Если вы не соблюдаете соглашения об упорядочивании, запрос не будет понят

    CA Dataquery

    или

    CA Datacom® / DB

    . Для предложений SQL используйте этот порядок:
    1. ВЫБРАТЬ

    2. ИЗ

    3. ГДЕ

    4. ГРУППА ПО

    5. ЗАКАЗАТЬ ПО

Предложение SELECT сообщает

CA Dataquery

имена столбцов, содержащих данные, которые должны быть найдены по запросу. В этом разделе представлены основные правила и использование предложения SELECT, а также обсуждается создание предложения SELECT в примере запроса.
 

.... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + ... .5 .... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== 01 ВЫБРАТЬ столбец1, столбец2, счетчик (столбец3) 02 ИЗ table1, table2 03 ГДЕ table1.column1 = table2.column2 и column3> 0 04 ORDER BY column1 .. =========================== ВНИЗ ==================== ==============

В следующих таблицах представлена ​​основная информация об операторах SELECT и определениях предложений SELECT, а также правилах предложений SELECT.

Ниже приводится общая информация о ключевом слове SELECT.

  • Операторы SELECT

    Запросы SQL всегда начинаются с оператора SELECT. Первое предложение оператора SELECT — это предложение SELECT. Оператор SELECT также может содержать дополнительные предложения, начиная с ключевых слов FROM, WHERE, GROUP BY и ORDER BY.
  • SELECT Назначение статьи

    Предложение SELECT называет столбцы, содержащие данные, которые должны появиться в отчете.

Ниже перечислены основные правила для предложений SELECT.

  • Пунктуация

    После слова SELECT поставьте пробел и укажите имя столбца. При необходимости добавьте дополнительные имена столбцов, разделив их запятыми. Пример: ВЫБРАТЬ column1, column2, column3, column4
  • Table ID

    Нет необходимости прикреплять идентификатор таблицы к имени столбца, если у вас нет повторяющихся имен столбцов (в нескольких таблицах) и вы хотите распечатать только одно из них.Чтобы прикрепить идентификатор таблицы, введите имя таблицы, точку и имя столбца как одно слово. Пример: ВЫБРАТЬ column1, column2, table2.column3, column4
  • Повторяющиеся строки

    Если запрос обнаруживает повторяющиеся строки и вам нужна только одна из них в таблице результатов, после слова SELECT следует слово DISTINCT перед перечислением имен столбцов. Пробел должен предшествовать DISTINCT и следовать за ним. Пример: SELECT DISTINCT column1, column2, column3
  • Вернуть все строки

    Чтобы явно указать, что все найденные строки должны быть включены в отчет, вставьте слово ALL между SELECT и именем первого столбца.Ставьте перед ВСЕМ пробелом и после него. Пример: ВЫБРАТЬ ВСЕ column1, column2, column3
  • Выбрать все столбцы

    Чтобы выбрать данные из всех столбцов в ссылочных таблицах в отчете, используйте звездочку (*) вместо перечисления имен столбцов. Пример: ВЫБЕРИТЕ *
  • Столбцы отчета о заказах

    Порядок, в котором вы перечисляете столбцы в предложении SELECT, определяет порядок столбцов в отчете. При выборе из более чем одной таблицы (указанной в предложении FROM) вы можете перечислить столбцы без учета их имен таблиц.

Это шаги для редактирования предложения SELECT в соответствии с запросом:

  • Шаг 1

    Переместите курсор на букву c в слове column1. Нажмите клавишу EOF или используйте клавишу Delete, чтобы удалить оставшуюся часть строки.
  • Шаг 2

    Чтобы показать, где найти данные и указать порядок их представления в отчете, введите эти символы, начиная с позиции курсора:

    REP_ID, ORD_AMT, NAME

Вот часть панели, показывающая, как теперь выглядит предложение SELECT.

 

ОПИСАНИЕ: ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА __________________________________________ .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + .... 5 .... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ table1, table2

Ниже приводится руководство по другим вещам, которые вы можете делать при создании собственных запросов.

  • Используйте онлайн-списки таблиц и столбцов.

    Вы можете отобразить список таблиц для вашего текущего идентификатора авторизации, если курсор находится в текстовой области. Вы также можете увидеть имена столбцов для любой таблицы в списке. Вы можете использовать списки для информации или можете скопировать имена из них в текстовую область в точке курсора. См. Раздел Отображение имен и структур баз данных.
  • Используйте поле ТЕКУЩАЯ ТАБЛИЦА.

    Если поле ТЕКУЩАЯ ТАБЛИЦА содержит имя, вы можете отображать информацию о столбцах в этой таблице при создании запроса.Есть два способа получить имя в поле ТЕКУЩАЯ ТАБЛИЦА. Вы можете ввести его или поместить курсор в область ввода текста, нажать СПИСОК ТАБЛИЦ и выбрать имя таблицы, которое будет вставлено как в область ввода текста, так и в поле ТЕКУЩАЯ ТАБЛИЦА. См. Раздел Отображение имен и структур баз данных.
  • Изменить идентификатор авторизации.

    Если вы перейдете на другой известный идентификатор авторизации на панели «ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ» (команда «ПРОФИЛЬ»), вы сможете отображать списки таблиц и столбцов в других схемах.
  • Задайте математические функции для столбцов.

    Вы можете запросить, чтобы

    CA Dataquery

    возвращал результаты математической функции, указанной вами для одного или нескольких числовых столбцов, а не сами данные. Вы можете получить суммы, средние, минимальные и максимальные значения или количество значений в любом столбце таблицы результатов.
  • Укажите временные результаты.

    Вы можете написать выражение, состоящее из имен столбцов и арифметических выражений, и включить это выражение в качестве имени столбца в предложение SELECT.Результат отображается в виде данных столбца.
Предложение FROM сообщает

CA Dataquery

, в какой таблице или таблицах следует искать столбцы, перечисленные в предложении SELECT. В этом разделе представлены основные правила предложения FROM, а также использование и обсуждение создания предложения FROM примера запроса.
 

.. ================================ TOP ============= ======================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ table1, table2 03 ГДЕ table1.column1 = table2.column2 и column3> 0 04 ORDER BY column1 .. =========================== ВНИЗ ====================== ============

Ниже перечислены правила, касающиеся основных предложений FROM.

  • ИЗ Назначение статьи

    Предложение FROM называет таблицы, содержащие данные, которые должны быть прочитаны при создании отчета.
  • Пунктуация

    После слова FROM поставьте пробел и укажите имя таблицы. При необходимости добавьте дополнительные имена таблиц через запятую. Примеры: ИЗ table1, table2, table3, table4 FROM table1, table2, table3, table4
  • Идентификатор авторизации

    Нет необходимости прикреплять идентификатор авторизации к имени таблицы, если он не указан в текущей схеме.Чтобы прикрепить идентификатор авторизации, введите его перед именем таблицы и разделите точкой. Пример: FROM table1, table2, public.table3, table4
  • Порядок имен таблиц

    Порядок, в котором вы перечисляете таблицы в предложении FROM, не имеет значения.
  • Количество названий таблиц

    Вы можете перечислить до десяти имен таблиц в одном предложении FROM. Вы также можете использовать SQL для объединения и присвоения имен таблицам результатов или

    просмотров

    . Всего можно ссылаться не более чем на десять таблиц, то есть ваше общее количество должно включать количество таблиц, составляющих представление.

Это шаги для редактирования предложения FROM в соответствии с образцом запроса:

  • Шаг 1

    Переместите курсор к букве t в слове table1. Нажмите EOF или используйте клавишу Delete, чтобы удалить оставшуюся часть строки.
  • Шаг 2

    Введите эти символы, начиная с позиции курсора:

    GLS_CUST_TABLE, GLS_ACCTS_TABLE

    Это сообщает

    CA Dataquery

    , что данные для печати в отчете берутся из двух названных таблиц.

Ниже приведен образец части панели, показывающей, как теперь выглядит предложение SELECT:

 

ОПИСАНИЕ: ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА __________________________________________ .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + .... 5 .... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ GLS_CUST_TABLE, GLS_ACCTS_TABLE

Ниже приводится руководство по другим вещам, которые вы можете делать при создании собственных запросов.

  • Используйте онлайн-списки таблиц и столбцов.

    Вы можете отобразить список таблиц для вашего текущего идентификатора авторизации, чтобы скопировать нужные имена таблиц прямо в текстовую область. Все, что вам нужно сделать, это поместить курсор в то место, куда вы хотите ввести имя, и нажать LIST TABLES. Из появившегося списка вы выбираете одно или несколько имен таблиц. См. Раздел Отображение имен и структур баз данных.
  • Изменить идентификатор авторизации.

    Если вы перейдете на другой известный идентификатор авторизации на панели «ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ» (команда «ПРОФИЛЬ»), вы сможете отображать списки таблиц в других схемах.
Предложение WHERE сообщает

CA Dataquery

критерии выбора данных для вывода запроса. Он также может указывать отношения, которые объединяют таблицы, путем перечисления условий, которые должны быть найдены в двух или более таблицах. В этом разделе представлены основные правила и использование предложения WHERE, а также обсуждается создание предложения WHERE в примере запроса.
 

.. ================================ TOP ============= ======================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ GLS_CUST_TABLE, GLS_ACCTS_TABLE 03 ГДЕ table1.column1 = table2.column2 и column3> 0 04 ORDER BY column1 .. =========================== ВНИЗ ==================== ==============

Ниже приводится основная информация о назначении пунктов WHERE и правилах их использования. Для комплексного использования существуют дополнительные правила.

  • Назначение

    Цель предложения WHERE:
    • Объединяйте таблицы, называя столбцы, содержащие данные, связанные, как показано оператором сравнения, даже если имена столбцов могут отличаться.

    • Определите найденные данные, указав одно или несколько условий поиска, по которым проверяются строки.

  • Расположение

    Предложения WHERE всегда следуют за оператором FROM.
  • Количество пунктов WHERE

    Вы можете использовать несколько предложений WHERE и объединять их с помощью AND, OR и круглых скобок для создания логических выражений.
  • Пунктуация

    После слова WHERE поставьте пробел и предикат.Используйте пробелы между словами и символами в предикате.
  • Основные предикаты

    Базовые предикаты сравнивают два значения и состоят из одного значения, за которым следует оператор сравнения и другое значение. Значение может быть именем столбца или выражением. (Второе значение также может быть SUBSELECT.) Результатом сравнения является либо истина, либо ложь. Если результат верен для данной строки, эта строка выбирается для таблицы результатов. Типы основных предикатов:
    • Объединения на основе логических выражений, включая операторы сравнения, сравнивающие два значения.

    • НЕ предшествует предикату, указывающему, что

      CA Dataquery

      должен находить только строки с предикатом

      , а не

      .
    • Несколько выражений, которые представляют собой смесь вышеперечисленного, связанные с помощью логических операторов И и ИЛИ. Пример: ГДЕ table1.name-column = table2.name-column И (СУММА> = 100 ИЛИ СУММА OR (CURRENT_DATE_YEAR
  • Основные операторы сравнения предикатов

    Операторы сравнения определяют тип сравнения одного выражения с другим.Допустимые операторы в базовом предикате предложения SQL WHERE:
    • = (Равно)

    • <(Меньше)

    • > (Больше чем)

    • <> (Не равно)

    • <= (Меньше или равно)

    • > = (Больше или равно)

    • ¬ = (Не равно)

    • ¬ <(Не меньше)

    • ¬> (Не больше)

  • Выражения

    Выражения могут быть простыми или сложными, с использованием арифметических операторов (+ — / * =) и круглых скобок.Используйте круглые скобки, чтобы указать, какие операции должны выполняться первыми в сложном вычислении (до 5 уровней вложенных выражений).
  • Другие типы предикатов

    Вы можете использовать другие типы предикатов в предложении WHERE:
    • ВСЕ

    • ЛЮБЫЕ

    • МЕЖДУ

    • СУЩЕСТВУЕТ

    • IN

    • КАК

    • NULL

    • НЕКОТОРЫЕ

Это шаги для редактирования предложения WHERE в примере запроса:

  • Шаг 1

    Переместите курсор к букве t в слове table1.столбец1. Нажмите EOF или используйте клавишу Delete, чтобы удалить оставшуюся часть строки.
  • Шаг 2

    Чтобы указать, что столбец CUST_ID в обеих таблицах должен использоваться для объединения таблиц и что должны быть выбраны только строки, в которых ORD_AMT больше 1000,00 долларов США, введите эти символы, начиная с позиции курсора:

    GLS_CUST_TABLE.CUST_ID = GLS_ACCTS_TABLE.CUST_ID AND ORD_AMT> 1000.00

Ниже приведен образец части панели, показывающей, как теперь выглядит оператор SELECT:

 

ОПИСАНИЕ: ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА __________________________________________ .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + .... 5. ... + .... 6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ GLS_CUST_TABLE, GLS_ACCTS_TABLE 03 ГДЕ GLS_CUST_TABLE.CUST_ID = GLS_ACCTS_TABLE.CUST_ID И ORD_AMT> 1000.00

Ниже приводится руководство по другим вещам, которые вы можете делать при создании собственных запросов.

  • Объедините более двух таблиц с помощью предложения WHERE.

    Вы можете объединить до десяти таблиц (или таблиц результатов) в свои запросы, используя предложение WHERE.
  • Используйте ключевое слово UNION для объединения таблиц.

    Вы можете создавать более сложные объединения, используя ключевое слово UNION для объединения таблиц результатов, созданных двумя или более операторами SELECT.
  • Используйте различные операторы сравнения.

    Доступны операторы для создания очень специфических условий поиска.
  • Используйте особые условия поиска.

    Специальные ключевые слова, такие как BETWEEN, IN, LIKE и IS NULL, доступны для создания специализированных условий поиска.
  • Используйте круглые скобки.

    Создавайте сложные условия поиска, используя круглые скобки и И и ИЛИ, чтобы написать логическое выражение.
  • Используйте другой запрос в качестве объекта предложения WHERE.

    Например: ВЫБЕРИТЕ * ОТ ОПЛАТЫ, ГДЕ КОЛОНКА = (ВЫБРАТЬ * ИЗ PER)
Предложение ORDER BY сообщает

CA Dataquery

порядок, в котором данные должны быть представлены в выходных данных запроса.Если предложение ORDER BY не используется, порядок строк соответствует порядку строк в таблице результатов. (Порядок столбцов всегда соответствует порядку имен столбцов в операторе SELECT.) В этом разделе представлены основные правила предложения ORDER BY, а также использование и обсуждение создания предложения ORDER BY в примере запроса.
 

.. ================================ TOP =============== ====================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ GLS_CUST_TABLE, GLS_ACCTS_TABLE 03 ГДЕ GLS_CUST_TABLE.CUST_ID = GLS_ACCTS_TABLE.CUST_ID И ORD_AMT> 1000.00 04 ORDER BY column1 .. =========================== ВНИЗ ==================== ==============

Предложение ORDER BY позволяет вам сортировать строки таблицы результатов в любом необходимом порядке на основе значений данных, найденных в определенных столбцах. Назовите столбцы, содержимое которых должно быть отсортировано, и эти столбцы определяют порядок, в котором строки должны быть расположены в отчете. Например, рассмотрите следующие три группы данных.

Если упорядочить предыдущие строки выборки по ИМЕНИ и ИДЕНТИФИКАТОРУ ЗАКАЗА, можно получить следующие результаты.

Упорядочивание предыдущих выборочных строк по ORD_ID и NAME дает следующий результат:

Ниже перечислены основные правила использования ключевого слова ORDER BY.

  • Расположение

    Предложение ORDER BY должно быть последним предложением в запросе SELECT.
  • Срок действия столбцов заказа

    Вы можете использовать любой столбец в любой таблице, на которую ссылается запрос, в качестве столбца упорядочивания, независимо от того, включен ли он в предложение SELECT или нет.
  • Сортировочное направление

    Строки сортируются по возрастанию, если иное не указано с ключевым словом DESC для сортировки по убыванию.
  • Пунктуация

    После слов ORDER BY поставьте пробел и укажите одно или несколько имен столбцов. Используйте запятые между именами столбцов.
  • Указать идентификатор таблицы

    Если в запросе объединены две или более таблиц и существует дубликат столбца ORDER BY, прикрепите идентификатор таблицы к имени столбца, чтобы указать, какой столбец будет использоваться при упорядочивании.Пример:

    ЗАКАЗ ПО ACCT_TABLE.ORDER_DATE, CUST_ID

Это шаги для редактирования предложения ORDER BY в соответствии с образцом запроса:

  • Шаг 1

    Переместите курсор на букву c в слове column1. Нажмите EOF или используйте клавишу Delete, чтобы удалить оставшуюся часть строки.
  • Шаг 2

    Введите эти символы, начиная с позиции курсора:

    REP_ID, ORD_AMT, NAME

    чтобы сообщить

    CA Dataquery

    , что все строки в отчете нужно объединить в группы по REP_ID.В каждой группе REP_ID данные должны быть расположены в порядке возрастания по сумме заказа (ORD_AMT). Если существуют повторяющиеся суммы заказа, данные должны быть расположены в порядке возрастания по имени клиента (ИМЯ).

Ниже приведен образец части панели, показывающей, как теперь выглядит оператор SELECT:

 

ОПИСАНИЕ: ОБРАЗЕЦ БАЗОВОГО ЗАПРОСА __________________________________________ .... + .... 1 .... + .... 2 .... + .... 3 .... + .... 4 .... + .... 5 .... + ....6 .... + .... 7 .... +. .. ================================ TOP =============== ====================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ GLS_CUST_TABLE, GLS_ACCTS_TABLE 03 ГДЕ GLS_CUST_TABLE.CUST_ID = GLS_ACCTS_TABLE.CUST_ID И ORD_AMT> 1000.00 04 ORDER BY REP_ID, ORD_AMT, NAME

Ниже приводится руководство по другим вещам, которые вы можете делать при создании собственных запросов.

  • Заказ данных отчета по столбцам, которые не печатаются.

    Вы можете сгруппировать данные в отчете в соответствии с данными в столбце, который вам неинтересно видеть в распечатанном виде.Например, вы можете не захотеть видеть одну и ту же дату в каждой строке вывода, даже если вы хотите, чтобы данные были упорядочены по дате. Вы можете использовать столбец даты в предложении ORDER BY, опуская его в предложении SELECT.
  • Изменить порядок столбцов в предложении SELECT.

    Возможно, вы захотите распечатать столбцы отчета в том же порядке, что и столбцы в предложении ORDER BY.

Шаги 5 и 6 Проверка и сохранение запроса

Перед сохранением проверьте свои запросы (и диалоговые окна) на наличие синтаксических ошибок и ошибок именования.Для этого вы нажимаете клавишу, чтобы

CA Dataquery

подтвердил

запроса.

После проверки запроса его следует сохранить, если он будет использоваться повторно.

Ниже приведен пример того, как отображается текстовая область панели РЕДАКТОР после завершения процедур на предыдущем шаге:

 

.. ================================ TOP =============== ====================== 01 ВЫБРАТЬ REP_ID, ORD_AMT, NAME 02 ИЗ GLS_CUST_TABLE, GLS_ACCTS_TABLE 03 ГДЕ GLS_CUST_TABLE.CUST_ID = GLS_ACCTS_TABLE.CUST_ID И ORD_AMT> 1000.00 04 ORDER BY REP_ID, ORD_AMT, NAME .. =========================== ВНИЗ ==================== ==============

Ниже приводится информация о процессе проверки.

  • Насколько безопасен мой текущий запрос?

    Запрос находится в активной области запроса до тех пор, пока вы не используете команду или выбор для активации другого запроса. Вам следует сохранить любой запрос, над которым вы, возможно, захотите работать позже или выполнить более одного раза.После сохранения запроса вы можете изменить его и нажать ОБНОВЛЕНИЕ в режиме обработки, чтобы сохранить изменения. Если вы уже создали формат отчета, вы должны определить, нужно ли также изменить формат. Если вы не сохранили запрос, над которым работаете, и покидаете панель РЕДАКТОР для выполнения другой функции, вы можете использовать команду EDIT *, чтобы вызвать его, если другой запрос не был активирован.
  • Сроки?

    Вы можете проверить запрос или диалог в любой момент во время строительства.Хотя

    CA Dataquery

    проверяет наличие ошибок, он не проверяет, завершен ли запрос.
  • Что проверяется с помощью

    CA Dataquery

    ?

    CA Dataquery

    проверяет, авторизован ли пользователь для выполнения функции, например, SELECT, DROP, CREATE. Затем

    CA Dataquery

    передает запрос в

    CA Datacom® / DB

    , который проверяет синтаксис. Если обнаружена синтаксическая ошибка,

    CA Dataquery

    отображает сообщение, начинающееся с букв DQ.Вы исправляете ошибку и снова подтверждаете. Затем

    CA Dataquery

    передает запрос в

    CA Datacom® / DB

    .
  • Что произойдет, если

    CA Datacom® / DB

    обнаружит ошибку?

    CA Datacom® / DB

    возвращает сообщение с кодом, который начинается с

    DQ093

    и описывает ошибку (например,

    DQ093 ILLEGAL TABLE NAME

    ). Вы исправляете ошибку и снова подтверждаете. Обратитесь к своему администратору

    CA Dataquery

    за помощью в случае возникновения ошибок

    CA Datacom® / DB

    .

Рассмотрите возможность сохранения и обновления запросов по мере их роста, чтобы не потерять свою работу в случае ошибки.

Ниже приводится информация о сохранении запросов.

  • Сроки?

    Вы должны сохранить любой запрос, который хотите использовать снова. Если вы создаете сложный запрос и тратите на него много времени, подумайте о его сохранении, прежде чем закончить. Если вы это сделаете, вы можете использовать кнопку UPDATE PF, чтобы сохранить его снова. Вы можете сохранить без предварительной проверки.
  • Что сохраняется?

    CA Dataquery

    сохраняет все, что написано в текстовой области панели РЕДАКТОР. Перед сохранением элемент должен иметь имя, тип (запрос или диалоговое окно) и статус (общедоступный или частный).
  • Что произойдет, если я выйду из панели РЕДАКТОР без сохранения?

    Запрос или диалоговое окно находится в активной области запроса до тех пор, пока вы не получите доступ к другому запросу или диалоговому окну. Вы можете вызвать активный запрос на панель РЕДАКТОРА с помощью команды РЕДАКТИРОВАТЬ *.
  • Как удалить ненужный запрос?

    Когда вам больше не нужен сохраненный запрос, вы можете удалить его из своей частной библиотеки или, если вы авторизованы, из публичной библиотеки. После удаления запроса вы можете вспомнить его только в том случае, если он в настоящее время находится в активной области запроса, потому что вы его отобразили, проверили или выполнили.

Это шаги для проверки и сохранения образца запроса.

  • Шаг 1

    Нажмите в любом режиме во время отображения запроса.
  • Шаг 2

    Исправьте ошибки, если они есть, и повторяйте шаг 1, пока не появится сообщение ЗАПРОС ПРОВЕРКА УСПЕШНО.
  • Шаг 3

    В режиме создания нажмите PROCESS MODE, чтобы изменить меню клавиши PF.
  • Шаг 4

    В режиме обработки нажмите СОХРАНИТЬ, если запрос не был сохранен ранее. Если запрос уже существует, нажмите ОБНОВЛЕНИЕ, чтобы сохранить изменения.

Шаг 7 Форматирование отчета и выполнение запроса

Меню клавиши PF режима процесса предоставляет клавишу PF для выполнения запроса.Рекомендуем выполнять новые запросы и проверять результаты. Вы можете изменить и обновить сохраненный запрос. Инструкции по выполнению отображаются в разделе «Выполнение в режиме SQL».

Выполнение в режиме SQL позволяет указать спецификации отчета, который вы хотите создать во время выполнения. Эти характеристики:

  • Заголовок

  • Столбец или представление списка

  • Последовательность сортировки столбцов ORDER BY и контрольные разрывы для столбцов ORDER BY

  • Начало новой страницы

  • Порядок столбцов

  • Математические функции AVG , MAX, MIN, SUM, CNT и TOT

  • Обозначения результатов функции

  • Редактировать шаблоны результатов функции

  • Двухстрочные имена столбцов

Для использования контрольных разрывов и сортировки с форматом отчета спецификации во время выполнения, запрос должен содержать предложение ORDER BY, чтобы строки извлекались в отсортированном порядке.

Вы можете установить значения по умолчанию для этих спецификаций для создаваемого вами запроса. Панель «Выполнение» предоставляет дополнительный набор панелей, которые любой пользователь, имеющий доступ к вашему запросу, может использовать для определения спецификаций отчета. Когда вы выполняете запрос

сохраненный

в первый раз и вводите спецификации, они сохраняются и становятся значениями по умолчанию. Если вы не вводите никаких спецификаций,

CA Dataquery

устанавливает значения по умолчанию.

Дополнительные сведения и информацию об определении отчета, созданного на основе запроса SQL, см. В разделе Получение отчета.Следуйте инструкциям по заполнению панелей определения отчетов. При первом выполнении запроса спецификации сохраняются.

Страница не найдена

Документы

Моя библиотека

раз
    • Моя библиотека
    «» Настройки файлов cookie .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *