Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Использование квадратных скобок в именах полей





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

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

SELЕСТ Customers. [CompanyName], Customers. [Country], Orders. [OrderDate], lers. [Requi red Date]

Когда в Access создается запрос, названия таблиц помещаются перед названиями полей автоматически. самом деле указывать название таблицы нужно только в том случае, если в SQL-выражении несколько)лиц содержат поля с одинаковыми названиями. Например, обе таблицы — Customers и Orders — содержат поле [Customer ID]. Если в SQL-выражении нужно указать данное поле, то следует уточнить, какое полей [Customer ID] вам нужно (из таблицы Customers или из таблицы Orders):

SELЕСТ Customers. [Customer] D], [CompanyName], Country, [OrderDate], •qui redDate]

 

Названия таблиц

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

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

ТЕМА 3.2. ОПЕРАТОРЫ ЯЗЫКА SQL

Команда FROM в SQL-выражении

Команда FROM, как следует из ее названия, указывает таблицы (или запросы), содержащие поля в выражении SELECT. Эта команда указывает Access, где искать записи. При работе с одной таблицей, как в приведенном примере, команда FROM просто указывает имя таблицы:

SELECT [CoinpanyName], Country, FROM Customers

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

• I NNER JOIN...ON

• RIGHT JOIN...ON

• LEFT JOIN...ON

INNER JOIN...ON используется для указания традиционного объединения Access.

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

Команда WHERE в SQL-выражениях

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

WHERE (Customers. [Customer I D]="EASTC")

Условие WHERE может быть любым допустимым выражением. Оно может быть простым выражением, состоящим из одного условия (как в приведенном примере), или же сложным выражением, включающим несколько критериев.

В SQL-выражении команда WHERE должна следовать за командой FROM.

Команда ORDER BY

Команду ORDER BY можно использовать для сортировки запроса. С помощью ORDER BY данные сортируются по возрастанию или по убыванию. Например, для указания порядка сортировки по полю CustomerlD следует ввести следующее:

ORDER BY Customers. [CustomerlD];

Окончание SQL-выражения

Поскольку SQL-выражение может состоять из 64 000 символов, необходимо обозначить его конец. SQL-выражение необходимо оканчивать точкой с запятой (;).

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

Если точка с запятой случайно окажется внутри SQL-выражения, то Access выдаст сообщение об ошибке и попытается указать, где она произошла.

При использовании SELECT, FROM, WHERE и ORDER BY можно создавать различные SQL-выражения для просмотра и вывода данных из таблиц. Например, можно построить SQL-выражение, выполняющее действия, перечисленные ниже.

1. Выбор полей CompanyName, Country, OrderlD и OrderDate.

2. Объединение таблиц Customers и Orders по полю Customer] D.

3. Вывод только тех записей, в поле CustomerlD которых содержится EASTC.

4. Сортировка данных по полю OrderDate. Соответствующее SQL-выражение должно выглядеть следующим образом:

SELECT [CompanyName], Country, [OrderlD], [OrderDate] FROM Customers INNER JOIN Orders ON Customers. [CustomerlD] = _ Orders. [CustomerlD] WHERE [CustomerlD] = "EASTC" ORDER BY Orders. [OrderDate];

Приведенная ниже информация о SQL-выражениях может служить описанием процесса создания SQL-выражений в Access 97. В SQL-выражениях можно также использовать другие команды. SQL относительно легок для понимания и использования и является неоценимым помощником в создании запросов и их использовании.

Создание запросов-действий при помощи SQL

Обновление, удаление и вставка данных из другой таблицы при помощи запросов-действий

Любые изменения исходных данных в Microsoft Access можно проделать даже в режиме таблицы, но на самом деле это справедливо, если работа производится с одной или с достаточно небольшим набором записей. Если нужно произвести одинаковые действия со множеством записей, то работа с каждой записью отдельно может оказаться невыполнимой.

Чтобы избежать этого в Microsoft Access существуют такие объекты как запросы-действия, которые позволяют найти необходимые записи и автоматически произвести в них необходимые изменения. Для изменения данных уже существующих таблиц Access имеет три вида запросов-действий:

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

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

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

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

 

Запрос-обновление

При преобразовании запроса-выборки в запрос-обновление изменяется заголовок окна запроса и в бланке QBE появляется строка Обновление. Эта новая строка бланка используется для того, чтобы задать, как именно изменять данные.

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

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

 

Инструкция UPDATE

Инструкцию UPDATE можно использовать для создания запроса на обновление, который изменяет значения в полях. Синтаксис:

 

UPDATE имя таблицы

SET имя столбца = новое значение

[WHERE условия отбора]

 

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

 

Запрос на удаление

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

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

Инструкция DELETE

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

 

DELETE поля, по которым проводится отбор

FROM имя таблицы или запроса

WHERE условия отбора

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

 

Запрос на добавление

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

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

Инструкция INSERT

Инструкцию INSERT INTO можно использовать для создания запроса на добавление записей, который добавляет записи из таблицы или запроса из текущей базы данных в конец другой таблицы или запроса в текущей или другой базе данных. Синтаксис:

 

Запрос на добавление одной записи:

 

INSERT INTO таблица-адресат [список полей]

VALUES список значений

 

Запрос на добавление нескольких записей:

 

INSERT INTO таблица-адресат [список полей]

SELECT список полей

FROM выражение

 

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







Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.