СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.

Презентация:



Advertisements
Похожие презентации
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
Advertisements

Объединение таблиц Подзапросы. Оператор SELECT дает возможность выборки информации сразу из нескольких таблиц, которые перечислены в списке FROM. Такая.
СУБД Microsoft Access 2003 РАЗРАБОТКА БАЗЫ ДАННЫХ (Запросы)
Тема 6. Технология разработки реляционной модели данных Вопросы 1.Объекты реляционных БД, терминология 2.Разработка структуры БД 3.Нормализация отношений.
Язык QBE Язык QBE -общая характеристика Табличный двумерный язык, основанный на реляционном исчислении. Декларативный язык. Язык четвертого поколения (4.
1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
Содержание: 1. Управление данными. а) Извлечение данных команда SELECT; б) Полный список разделов. 2. Раздел SELECT. а) Синтаксис раздела SELECT; б) Ключевые.
СУБД Microsoft Access 2003 РАЗРАБОТКА БАЗЫ ДАННЫХ (Таблицы и связи между ними)
Презентация на тему: Ключевое слово TOP n [PERCENT] [WITH TIES]
Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
СУБД 7. Использование подзапросов в языке запросов SQL.
Электронная Россия ( ), ЭР-2003 Лекция # 1-4 СУБД Microsoft Access 2000 РАЗРАБОТКА БАЗЫ ДАННЫХ (Таблицы и связи между ними)
Л.3. Конструирование запросов и работа с ними 1. Характеристика запросов 2. Технология создания запросов на выборку 3. Методика создания запросов других.
9 класс Запросы являются одним из основных инструментов выборки и обработки данных в таблицах базы данных. Запросы используют для анализа, просмотра и.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Слайд-лекция по теме: «Системы управления базами данных (Access 97)» Разработал преподаватель информатики первой категории Гуляй Василий Анатольевич. Часть.
Язык SQL Вложенные запросы и внешние объединения.
ОТБОР И СОРТИРОВКА ДАННЫХ СУБД Access Отбор данных с помощью фильтров СУБД Access позволяет производить отбор записей, в ко- торых значения определенных.
Зачетная работа по теме « Основы баз данных » Выполнила ученица 11-А класса Серегина Ольга.
Транксрипт:

СУБД Microsoft Access 2003 Элементы языка SQL

Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих СУБД Существуют стандарты языка, но его реализация отличается для различных СУБД SQL удобен в системах «клиент-сервер»

Язык SQL Применение SQL в СУБД Access В Microsoft Access язык SQL применяется при построении запросов к базе данных Для многих задач может оказаться достаточным использования мастера или конструктора, но не для всех Любой запрос, построенный с помощью мастера или конструктора, может быть представлен на языке SQL. Обратное неверно. Также SQL используется при работе с внешними источниками данных (например, СУБД Oracle или Microsoft SQL Server) В частности, запрос на языке SQL может быть напрямую задан в полях свойств «Источник записей» или «Источник строк» элементов форм и отчетов, чтобы обойтись без создания отдельного объекта «Запрос»

SQL и конструктор запросов Для переключения режимов конструктора используется кнопка «Вид» панели инструментов

Оператор SELECT SELECT FROM ; Пример 1: SELECT Фамилия, Имя, Отчество FROM Клиент; Извлечь список всех клиентов (ФИО) из таблицы «Клиент» Пример 2: SELECT * FROM Клиент; Извлечь список всех клиентов (все поля) из таблицы «Клиент» Любой оператор SQL завершается символом «точка с запятой» При построении запросов на извлечение данных из БД в SQL используется оператор SELECT Простейшая форма оператора SELECT:

Оператор SELECT Результаты выполнения запросов Пример 1 Пример 2

Оператор SELECT Объединение нескольких таблиц в запросе SELECT Клиент.Фамилия, Подписка.КодЖурнала FROM Клиент, Подписка; Пример: Есть две таблицы. Построим запрос, выводящий фамилии клиентов и коды журналов. Результат представляет собой декартово произведение исходных таблиц. Каждая запись таблицы «Клиент» объединяется с каждой записью таблицы «Подписка» Следует ограничить результирующее множество записями, которые связаны между собой (содержат одинаковые значения в полях «КодКлиента»)

Оператор SELECT Объединение нескольких таблиц в запросе SELECT Клиент.Фамилия, Подписка.КодЖурнала FROM Клиент INNER JOIN Подписка ON Клиент.КодКлиента = Подписка.КодКлиента; В предложении «FROM» вместо оператора объединения «,» (запятая) будем использовать оператор «INNER JOIN» - внутреннее объединение. Результат содержит только записи, для которых выполняется заданное условие Оператор «INNER JOIN» позволяет наложить ограничение на объединяемые записи. Предложение ON определяет связь между полями объединяемых таблиц

Оператор SELECT Виды объединения В режиме конструктора тип объединения можно изменить заданием свойств связи INNER JOIN (внутреннее объединение) В результат включаются только те записи из обоих таблиц, которые связаны между собой LEFT JOIN (левое внешнее объединение) В результат включаются все записи из первой таблицы. Если для них нет связанных записей во второй таблице, соответствующие поля результата будут пустыми RIGHT JOIN (правое внешнее объединение) Операция, зеркально симметричная левому объединению При создании запроса в режиме конструктора для таблиц, связи которых заданы в схеме данных, автоматически определяется операция «INNER JOIN»

Оператор SELECT Виды объединения SELECT Клиент.Фамилия, Подписка.КодЖурнала FROM Клиент INNER JOIN Подписка ON Клиент.КодКлиента = Подписка.КодКлиента; Здесь присутствует фамилия «Федоров», для которой нет соответствий в таблице «Журнал». Вторая колонка этой строки содержит значение «Null» (пусто). Пример Созданный ранее запрос и результат его работы: SELECT Клиент.Фамилия, Подписка.КодЖурнала FROM Клиент LEFT JOIN Подписка ON Клиент.КодКлиента = Подписка.КодКлиента; Тот же запрос с использованием левого объединения:

Оператор SELECT Группировка Усовершенствуем составленный ранее запрос Требуется для каждого клиента (фамилии) подсчитать количество журналов, на которые он подписан SELECT Клиент.Фамилия, Count(Подписка.КодЖурнала) FROM Клиент LEFT JOIN Подписка ON Клиент.КодКлиента = Подписка.КодКлиента GROUP BY Клиент.Фамилия; Зададим группировку записей по фамилии (фамилии не должны повторяться) и для групп определим групповую операцию «подсчет количества» В предложении GROUP BY могут быть перечислены несколько полей через запятую Для всех полей, не вошедших в предложение GROUP BY, должны быть определены групповые операции

Оператор SELECT Сортировка. Имена (псевдонимы) Что еще осталось сделать? Псевдонимы можно задавать не только для столбцов, но и для таблиц Результат работы запроса: То, что фамилии расположены по алфавиту – совпадение. Следует явно указать способ сортировки Надо задать осмысленное название второго столбца (сейчас название сформировано автоматически) SELECT Клиент.Фамилия, Count(Подписка.КодЖурнала) AS Количество FROM Клиент LEFT JOIN Подписка ON Клиент.КодКлиента = Подписка.КодКлиента GROUP BY Клиент.Фамилия ORDER BY Клиент.Фамилия ASC; Слово ASC задает сортировку по возрастанию (его можно опустить). Для сортировки по убыванию используется слово DESC

Оператор SELECT Сравнение с режимом конструктора Результат запроса теперь такой: Посмотрим, как созданный запрос выглядит в режиме конструктора

Оператор SELECT Ограничение результирующих наборов Оператор SELECT извлекает данные из одной или нескольких таблиц и из всех возможных комбинаций оставляет только те, которые соответствуют заданным критериям отбора Говорят, что при выборке выполняются операции умножения и сужения Умножение – построение всех возможных комбинаций записей (декартово произведение таблиц) Сужение – отсечение «лишних» комбинаций Умножение выполняется в предложении FROM и там же с помощью слова ON может быть выполнено сужение (из всех комбинаций записей остаются только связанные между собой)

Оператор SELECT Ограничение результирующих наборов Для выполнения сужения в операторе SELECT могут присутствовать еще два вида предложений: WHERE и HAVING Предложение WHERE располагается после предложения FROM и позволяет наложить дополнительные ограничения на результат объединения. Ограничения, заданные словом ON иногда могут быть перенесены также в предложение WHERE Предложение HAVING может располагаться после предложения GROUP BY и применяться к данным в каждой группе При использовании предложения HAVING без предложения GROUP BY, оно применяется ко всей результирующей таблице и действует аналогично предложению WHERE

Оператор SELECT Ограничение результирующих наборов Пример. Дополним разработанный ранее запрос новыми ограничениями В результат входят записи только для клиентов, фамилия которых начинается с «И» и при этом используются только журналы, коды которых больше «1». Кроме того, не включаются клиенты, у которых нет подписки SELECT Клиент.Фамилия, Count(Подписка.КодЖурнала) AS Количество FROM Клиент LEFT JOIN Подписка ON Клиент.КодКлиента = Подписка.КодКлиента WHERE Left(Клиент.Фамилия,1) = "И" AND Подписка.КодЖурнала > 1 GROUP BY Клиент.Фамилия HAVING Count(Подписка.КодЖурнала) > 0 ORDER BY Клиент.Фамилия ASC; Внимание! Приведенный пример содержит избыточные условия и составлен исключительно с целью демонстрации использования различных способов ограничения результирующих наборов