Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Перекрёстные запросы

Параметры

Описывают имя и тип данных каждого параметра в запросе с параметрами.

Синтаксис:

PARAMETERS имя типДанных [, имя типДанных [,...]]

 

ИМЯ – имя параметра. используется для обращения к этому параметру. Значение аргумента имя может быть строкой, которая отображается в окне диалога при выполнении запроса. Строку, содержащую пробелы и знаки препинания, необходимо заключить в квадратные скобки ([ ]). Например, допустимыми значениями этого аргумента являются [Минимальная цена] и [Сведения за какой месяц Вы хотите получить?].

ТИПДАННЫХ – один из первичных типов данных SQL ядра Microsoft Jet или их синонимы.

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

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

Для разделения параметров в описании следует использовать запятые. В следующем примере описаны два параметра:

PARAMETERS [Минимальная цена] Currency Currency, [Начальная дата] DateTime;

 

В предложении WHERE или HAVING можно использовать аргумент имя, но не типДанных.

При выполнении запроса с параметрами Microsoft Access выводит приглашение пользователю ввести параметры, определяющие условия отбора в запросе. Это позволяет создать запрос, возвращающий записи на основе заданного пользователем условия.

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

 

(Является аналогом сводных таблиц в MS Excel).

Синтаксис:

TRANSFORM статистическаяФункция AS значение

SELECT оператор FROM таблица GROUP BY [значение]

PIVOT списокИмёнСтолбцов

 

СТАТИСТИЧЕСКАЯФУНКЦИЯ – функция, которая выполняется над данными, указанными в операторе SELECT.

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

Transform Count(Код) as Значение

Select Отдел, Count(Код) as [Итоговое значение]

From Сотрудники

Group By Отдел

Pivot Format([Родился], “mmm”) in (“Янв”,”Фев” …)

Обновление данных (запрос Update)

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

Синтаксис:

UPDATE таблица

SET новоеЗначение

WHERE условиеОтбора;

Таблица – имя таблицы, данные в которой следует изменить.

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

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

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

UPDATE Сотрудники

SET Сотрудники.Зарплата = Зарплата*1.2, Сотрудники.премия = 20

WHERE (((Сотрудники.Отдел)="Проектирование"));

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

 

В следующем примере премия в 30% утанавливается всем подчиненым Ткаченко

UPDATE Сотрудники INNER JOIN [Начальники] ON Сотрудники.номер_отдела = Начальники.Код SET Сотрудники.премия = 30

WHERE (((Начальники.Фамилия)="Ткаченко"));

Удаление данных (запрос Delete)

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

Синтаксис:

DELETE [таблица.*]

FROM таблица

WHERE условиеОтбора

Таблица – необязательное имя таблицы, из которой удаляются записи.

условиеОтбора – выражение, определяющее удаляемые записи.

Инструкция DELETE особенно удобна для удаления большого количества записей. Чтобы удалить из базы данных целую таблицу, можно использовать метод Execute вместе с инструкцией DROP. Однако при таком удалении таблицы теряется ее структура. Если же применить инструкцию DELETE, удаляются только данные. При этом сохраняются структура таблицы и все остальные ее свойства, такие как атрибуты полей и индексы.

Инструкцию DELETE можно использовать для удаления записей из таблиц, связанных отношением "один-ко-многим" с другими таблицами. Операции каскадного удаления приводят к удалению записей из таблиц, находящихся на стороне отношения "многие", когда в запросе удаляется соответствующая им запись на стороне "один". Например, в отношении между таблицами "Клиенты" и "Заказы", таблица "Клиенты" расположена на стороне "один", а таблица "Заказы" на стороне "многие". Если разрешено каскадное удаление, то удаление записи из таблицы "Клиенты" приводит к удалению соответствующих записей из таблицы "Заказы". Запрос на удаление удаляет записи целиком, а не только содержимое указанных полей. Чтобы удалить данные в конкретном поле, следует создать запрос на обновление, который заменяет имеющиеся значения на значения Null.

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

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

В Microsoft Access выполнение инструкции DELETE не приводит к выводу результатов отчета в режиме таблицы.

Удаляются все записи отдела рекламы

DELETE

FROM Сотрудники

WHERE (((Сотрудники.Отдел)="Реклама"));

<== предыдущая лекция | следующая лекция ==>
Группировка. Указывает таблицы или запросы, которые содержат поля, перечисленные в инструкции SELECT | Подчинённые запросы
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 469; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.