Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Создание запросов




Порядок выполнения

Лабораторная работа N 2

Создание запросов на выборку, удаление, обновление, добавление данных и формирование новых таблиц

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

 

  1. Создать запросы на выборку из одной таблицы
  2. Создать запросы на выборку из нескольких таблиц
  3. Создать запросы на обновление данных
  4. Сформировать запрос на создание новой таблицы
  5. Создать запросы на удаление записей

 

Одним из основных инструментов обработки данных являются запросы. Запрос строится на основе одной или нескольких таблиц или запросов, или таблиц с запросами, используя временные таблицы с результатами запросов. Набор записей запроса физически не существует в БД, Мicrosoft Аccess создает его во время выполнения определенного запроса. Последовательное выполнение ряда запросов позволяет решать достаточно сложные задачи, не прибегая к программированию.

В Мicrosoft Аccess имеется удобное для пользователя графическое средство формирования запроса по образцу QBE (Query By Example), с помощью которого легко можно построить сложный запрос. Запрос QBE содержит схему данных, включающую используемые таблицы и бланк запроса.

 

 

Для создания запроса:

1. Щелкнуть на вкладке ЗАПРОСЫ.

2. Щелкнуть кнопку СОЗДАТЬ.

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

4. Выделив имя нужной таблицы или с нажатой клавишей CTRL несколько таблиц и нажать кнопку ДОБАВИТЬ.

5. В Бланк запроса добавляются таблицы и связи между ними, если они построены в СХЕМЕ ДАННЫХ.

 

 


 

При заполнении бланка запроса необходимо и можно:

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

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

Поле из таблицы можно вынести в бланк запроса несколькими способами:

1. перетащить из таблицы в строку бланка Поле,

2. нажать двойным Cliсk по полю,

3. выбрать из раскрывающего списка по строке Поле в бланке.

 

Основные используемые команды

Создание запроса: окно базы данных Запросы / Создать / Конструктор / …В окне "Добавление таблицы" выбрать имена таблиц или запросов / Добавить… / Закрыть.

Выбор типа запроса: Раскрывающийся список Тип запроса на панели инструментов или меню Запрос / …выбрать тип (выборка, обновление, добавление, удаление, создание таблицы)

Переход между режимами Конструктор, Режим SQL, Режим таблицы :

раскрывающийся список Вид на панели инструментов или меню Вид / Конструктор или Режим SQL.

 
 

Выполнение запроса: кнопка "! " (Запуск) на панели инструментов.

 


Запросы на выборку из одной и нескольких таблиц

Запрос 1.

Тип запроса: запрос на выборку всех полей из одной таблицы

Имя запроса: "ЗакупкиЗаМесяц".

Цель запроса: выбрать закупки за последний месяц

SQL-запрос:

SELECT Закупки.*

FROM Закупки

WHERE Закупки.ДатаРазмещения > Date() -30;

Пояснение к запросу:

<

ВЫБРАТЬ все поля

ИЗ таблицы Закупки

ГДЕ поле ДатаРазмещения имеет значение больше, чем текущая дата минус 30 дней

Запрос 2.

Тип запроса: запрос на выборку из одной таблицы

Имя запроса: "ТоварыОдногоТипа ".

Цель запроса: выбрать все товары заданного типа.

QBE-запрос:

 

SQL-запрос:

SELECT Товары.КодТовара, Товары.Марка, Товары.ОписаниеТовара,

Товары.Цена, Товары.КодТипа

FROM Товары

WHERE (((Товары.КодТипа)=1))

ORDER BY Товары.Марка;

Пояснение к запросу:

<

ВЫБРАТЬ поля КодТовара, Марка,.ОписаниеТовара,Цена, КодТипа

ИЗ таблицы Товары

ГДЕ поле КодТипа=1

СОРТИРОВАТЬ ПО полю Марка;

>

Запрос 3.

Тип запроса: запрос на выборку из двух таблиц

Имя запроса: "ПоставщикиИЗакупки".

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

QBE-запрос:

SQL-запрос:

 

SELECTDISTINCTROW Закупки.НомерЗаказа, Закупки.ОписаниеЗаказа,

Закупки.ДатаРазмещения, Сотрудники.Фамилия, Сотрудники.Имя

FROM Сотрудники RIGHT JOIN Закупки

ON Сотрудники.КодСотрудника = Закупки.КодСотрудника

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

ORDER BY Сотрудники.Фамилия, Сотрудники.Имя;

Пояснение к запросу:

<

ВЫБРАТЬ для НЕПОВТОРЯЮЩИХСЯ ЗАПИСЕЙ поля Закупки.НомерЗаказа,

Закупки.ОписаниеЗаказа, Закупки.ДатаРазмещения, Сотрудники.Фамилия, Сотрудники.Имя

ИЗ таблицы Сотрудники СВЯЗАННОЙ ПРАВОЙ ВНЕШНЕЙ СВЯЗЬЮ с таблицей Закупки ПО полям Сотрудники.КодСотрудника = Закупки.КодСотрудника

ГДЕ применяетсяусловие отбора Сотрудники.Фамилия="Петров"

СОРТИРОВАТЬ ПО полям Сотрудники.Фамилия, Сотрудники.Имя;

>

Запрос 4.

Тип запроса: запрос на выборку из двух таблиц

Имя запроса: "ЗакупкиСотрудника".

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

QBE-запрос:

SQL-запрос:

SELECT Поставщики.Город, Поставщики.НазваниеПоставщика,

Закупки.ДатаРазмещения

FROM Поставщики INNER JOIN Закупки

ON Поставщики.КодПоставщика = Закупки.КодПоставщика

WHERE (Поставщики.Город='Москва') AND (Закупки.ДатаРазмещения Between #1/1/1999# And #1/1/2000#);

Пояснение к запросу:

<

ВЫБРАТЬ поля Поставщики.Город, Поставщики.НазваниеПоставщика,

Закупки.ДатаРазмещения

ИЗ таблицы Поставщики СВЯЗАННОЙ ВНУТРЕННЕЙ СВЯЗЬЮ с таблицей Закупки ПО полям Поставщики.КодПоставщика = Закупки.КодПоставщика

ГДЕ (значение поля Поставщики.Город совпадает с названием 'Москва') И

(значение поля Закупки.ДатаРазмещения лежит МЕЖДУ 1/1/1999 И 1/1/2000);

>

 

Запрос 5.

Тип запроса: запрос на выборку из трех таблиц

Имя запроса: "СделкиСТоваром".

Цель запроса: Выбрать первые 10% сделок с заданным товаром

QBE-запрос:

 

SQL-запрос:

SELECT TOP 10 PERCENT Сделки.ДатаОперации, Сделки.ОписаниеОперации, Товары.Марка, Типы.НазваниеТипа

FROM Типы RIGHT JOIN (Товары INNER JOIN Сделки ON Товары.КодТовара = Сделки.КодТовара) ON Типы.КодТипа = Товары.КодТипа

WHERE (((Типы.НазваниеТипа)="Колбасные изделия"))

ORDER BY Сделки.ДатаОперации;

Пояснение к запросу:

<

ВЫБРАТЬ ПЕРВЫЕ 10 ПРОЦЕНТОВ записей для полей Сделки.ДатаОперации, Сделки.ОписаниеОперации, Товары.Марка, Типы.НазваниеТипа

ИЗ таблицы Типы СВЯЗАННОЙ ПРАВОЙ ВНЕШНЕЙ СВЯЗЬЮ с таблицей (ТОвары СВЯЗАННОЙ ВНУТРЕННЕЙ СВЯЗЬЮ с таблицей Сделки ПО полям Товары.КодТовара = Сделки.КодТовара) ПО полям Типы.КодТипа = Товары.КодТипа

ГДЕ Типы.НазваниеТипа="Колбасные изделия"

СОРТИРОВАТЬ ПО Сделки.ДатаОперации;

>

 

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

При выборе запроса на обновление в бланке запроса появляется новая строка ОБНОВЛЕНИЕ, которую необходимо заполнить по обновляемому полю.

Запрос 6.

Тип запроса: запрос на обновление одной таблицы

Имя запроса: "ОбновитьЦены".

Цель запроса: обновить все цены товаров заданного типа, увеличив их на 10%

QBE-запрос:

SQL-запрос:

UPDATE Товары SET Товары.Цена =Товары.[Цена]*1.1

WHERE (((Товары.КодТипа)=1));

Пояснение :

<

ОБНОВИТЬ таблицу Товары,

УСТАНОВИТЬ при этомзначение поля Товары.Цена равным Товары.[Цена]*1.1,

ГДЕ Товары.КодТипа=1;

>

 

Запрос на создание новой таблицы

Тип запроса: запрос на создание новой таблицы

Имя запроса: "НоваяТаблицаЗакупки".

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


QBE-запрос:

В бланк вывести все поля таблицы Закупки, по полю ДатаРазмещение в строке Условие отбора поставить условие:

>Date()-30, где

функция Date() определяет системную дату.

Выбрав тип запроса Создание таблицы, необходимо заполнить поле Имя таблицы

Появляющего диалогого окна Создание таблицы.


Запрос 7.

SQL-запрос:

 

SELECT Закупки.* INTO ЗакупкиТаблица

FROM Закупки

WHERE (((Закупки.ДатаРазмещения) >

Date() -30));

Пояснение:

<

ВЫБРАТЬ все поля и ПОМЕСТИТЬ ВНОВУЮ ТАБЛИЦУ по имени ЗакупкиТаблица

ИЗ таблицы Закупки

ГДЕ значение поля ДатаРазмещения больше текущей даты минус 30 дней

>

 

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

После выбора типа запроса на удаление, в бланке свойств появляется строка Удаление.

Запрос 8.

Тип запроса: запрос на удаление из одной таблицы

Имя запроса: "УдалитьСделки".

Цель запроса: Удалить все сделки с заданным диапазоном дат

QBE-запрос:

SQL-запрос:

DELETE Сделки.*, Сделки.ДатаОперации




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 825; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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