Лабораторная работа. Основы языка SQL
Целью работы является научиться формировать запросы для анализа информации, содержащейся в базах данных, вывода информации по заданному критерию поиска.
Лабораторная работа. Основы языка SQL
Одним из стандартных объектов Microsoft Access является запрос .
Запросы используются для просмотра, анализа и изменения данных
в одной или нескольких таблицах.
Например, можно использовать запрос для
- отображения данных из одной или нескольких таблиц
- сортировки данных в определенном порядке,
- выполнить вычисления над группой записей,
- осуществить выборку из таблицы по определенным условиям.
Запросы могут служить источником данных для форм и отчетов Microsoft Access.
Сам запрос не содержит данных, но позволяет выбирать данные из таблиц и выполнять над ними ряд операций.
Лабораторная работа. Основы языка SQL
Задание: Описать сформулированные Вами запросы, используя описанный ниже аппарат. В качестве примера и иллюстрации можно использовать MY.mdb
Последовательность выполнения работы.
1. Создать в вашей папке копию вашей базы данных « stud » с целью предотвращения ее случайной порчи. В данной лабораторной работе работать с копией.
2. Изучить, проанализировать и выполнить все пункты задания.
Теоретический материал с основными сведениями о Microsoft Access находится в приложении – файл « Лабораторная работа №2 Основы языка SQL », а также в достаточно подробной справке по Access.
3. Подготовьте отчет в соответствии с общими правилами оформления отчетов.
Отчет: База данных в ACCESS 2007 с созданными запросами.
Лабораторная работа. Основы языка SQL
SELECT * FROM Продукты – выбор всех полей таблицы Продукты
SELECT
FROM Продукты; – выбор полей Продукт, ЕдИзм таблицы Продукты
SELECT Продукт AS [Наименование продукта], ЕдИзм AS [Единица измерения]
FROM Продукты;
- изменение заголовков столбцов таблицы
( Продукт меняется на Наименование продукта и т.п.)
Ключевое слово WHERE в синтаксисе инструкции SELECT позволяет указывать определенные типы записей, которые должны попадать в набор.
Например:
SELECT Продукт AS [Наименование продукта], ЕдИзм AS [Единица измерения]
FROM Продукты
WHERE ЕдИзм = "л"; - выбор продуктов , где поле ЕдИзм = "л"
50 AND Цена1 выбор полей НаимТовара и Цена1 из таблицы Товары , где Цена1 50 и Цена1 ; Оператор IS NULL позволяет найти в таблице записи, в полях которых не указаны данные, например: SELECT НаимТовара AS [Наименование товара], Цена1 AS [Цена закупочная] FROM Товары WHERE Цена2 IS NULL OR Цена1
Лабораторная работа. Основы языка SQL
В области слова WHERE можно располагать сложное условное выражение с использованием знаков логических операций и функций.
Например:
SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]
FROM Товары WHERE Цена1 50 AND Цена1
- выбор полей НаимТовара и Цена1 из таблицы Товары , где Цена1 50 и Цена1 ;
Оператор IS NULL позволяет найти в таблице записи, в полях которых не указаны данные, например:
SELECT НаимТовара AS [Наименование товара], Цена1 AS [Цена закупочная]
FROM Товары
WHERE Цена2 IS NULL OR Цена1
Лабораторная работа. Основы языка SQL
Оператор BETWEEN позволяет указать диапазон, в котором находятся данные некоторого поля, например:
SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]
FROM Товары
WHERE Цена1 BETWEEN 42 AND 120;
Оператор IN позволяет указать список, в котором находятся данные некоторого поля, например:
SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]
FROM Товары
WHERE Цена1 IN (42, 105,750)
В SQL-инструкции можно также использовать оператор LIKE ,
например инструкция:
SELECT НаимТовара as [Наименование товара],Цена1 as [Цена закупочная]
FROM Товары
WHERE НаимТовара LIKE "(VCD)*";
SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]
FROM Товары
WHERE НаимТовара LIKE "*мишень*";
SELECT НаимТовара AS [Наименование товара], Цена1 AS [Цена закупочная]
FROM Товары
WHERE Цена2 IS NOT NULL OR Цена1
SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]
FROM Товары
WHERE Цена1 NOT BETWEEN 42 AND 120;
SELECT НаименованиеТовара as [Наименование товара], Цена! as [Цена закупочная]
FROM Товары
WHERE Цена1 NOT IN (42, 105,750);
SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]
FROM Товары
WHERE НаимТовара NOT LIKE "(VCD)*";
Лабораторная работа. Основы языка SQL
Лабораторная работа. Основы языка SQL
Результирующие данные запроса можно форматировать с использованием, например, функции Format. В следующем запросе данные форматируются при помощи строки "### ##0.00$":
SELECT НаимТовара as [Наименование товара],
Format(Цена1*1.2,"### ##0.00р") as [Цена оптовая]
FROM Товары
WHERE Цена1
Для форматирования выводимых в запросе данных можно использовать функции преобразования строк. Например, в следующем запросе наименования товаров выводятся символами верхнего регистра, поскольку здесь используется функция StrConv:
SELECT StrConv(Продукт,1) AS [Наименование продукта], ЕдИзм AS [Единица измерения]
FROM Продукты;
Лабораторная работа. Основы языка SQL
Выбор данных из более чем одной таблицы
Рассмотрим задачу выбора из базы данных товаров некоторого склада. Перед тем как рассмотреть использование слова WHERE для связи таблиц, заметим, что в инструкции SELECT можно перед именем поля указывать имя таблицы, которое отделяется от имени поля точкой.
Например:
SELECT Продукты.Продукт AS [Наименование продукта], Продукты.ЕдИзм AS [Единица измерения]
FROM Продукты;
#3/25/2003# AND Продукты.КодПрод = Продажи.КодПрод;" width="640"
Лабораторная работа. Основы языка SQL
Следующая инструкция позволяет получить наименования (из таблицы Продукты) и количества (из таблицы Продажи) продуктов
SELECT Продукты.Продукт AS [Наименование продукта], Продажи.Количество AS [Количество]
FROM Продукты, Продажи
WHERE Продукты.КодПрод = Продажи.КодПрод;
Следующая инструкция позволяет получить наименования и количества только для тех продуктов, которые проданы после заданной даты
SELECT Продукты.Продукт AS [Наименование продукта], Продажи.Количество AS [Количество]
FROM Продукты, Продажи
WHERE Продажи.ДатаПродажи #3/25/2003# AND Продукты.КодПрод = Продажи.КодПрод;