Презентация, доклад на тему Курс Введение в язык SQL

Содержание

Построение простых запросов на SQL к одной таблицеТема занятия: Построение запросов в Access (QBE и SQL) к одной таблице БД, изменение списка имен столбцов в запросе, вставка текстовых столбцов, запросы с условиями к.т.н. Герасимов Н.А., Магин

Слайд 1Введение в язык SQL
Построение запросов
к.т.н. Герасимов Н.А., Магин Б.Е.

Введение в язык SQLПостроение запросовк.т.н. Герасимов Н.А., Магин Б.Е.

Слайд 2Построение простых запросов на SQL к одной таблице

Тема занятия: Построение запросов

в Access (QBE и SQL) к одной таблице БД, изменение списка имен столбцов в запросе, вставка текстовых столбцов, запросы с условиями

к.т.н. Герасимов Н.А., Магин Б.Е.

Построение простых запросов на SQL к одной таблицеТема занятия: Построение запросов в Access (QBE и SQL) к

Слайд 31.1. Построение запроса в QBE и просмотр его в режиме SQL

Важным

моментом методики освоения конструкций языка SQL является освоение приема создания запросов с помощью конструктора запросов (QBE - Query By Example) и просмотра созданного запроса в редакторе SQL.
Для построения учебных запросов будем использовать базу данных Avto.mdb, которая состоит из таблиц: Salespeople, Customers, Price, Orders

к.т.н. Герасимов Н.А., Магин Б.Е.

1.1. Построение запроса в QBE и просмотр его в режиме SQLВажным моментом методики освоения конструкций языка SQL

Слайд 4Пример базы данных Avto.mdb
Схема базы данных Avto.mdb в Access
к.т.н. Герасимов Н.А.,

Магин Б.Е.
Пример базы данных Avto.mdbСхема базы данных Avto.mdb в Accessк.т.н. Герасимов Н.А., Магин Б.Е.

Слайд 5Построение запроса в QBE (Query By Example)
В СУБД Access для построения

запросов к базе данных существует простой и удобный инструмент – конструктор (или мастер) построения запросов, называемый QBE , использование которого заключается в следующем:

к.т.н. Герасимов Н.А., Магин Б.Е.

Построение запроса в QBE  (Query By Example)В СУБД Access для построения запросов к базе данных существует

Слайд 6Выбор закладки «ЗАПРОСЫ»
- надо войти в закладку ЗАПРОСЫ;
- выбрать режим

«Создать» запрос с помощью «Конструктора запросов» (на экране появится макет запроса как показано на рис. ниже);
- на верхнем поле конструктора надо разместить таблицу Salespeople (для этого можно использовать кнопку ДОБАВИТЬ);
- затем для создания нашего запроса надо из макета таблицы Salespeople мышкой перетащить «звездочку» (*) в макет запроса (в первый столбец первой строки (Поле:) ). После правильного выполнения этих процедур получается макет запроса, как показано на рис.1.

к.т.н. Герасимов Н.А., Магин Б.Е.

Выбор закладки «ЗАПРОСЫ» - надо войти в закладку ЗАПРОСЫ;	- выбрать режим «Создать» запрос с помощью «Конструктора запросов»

Слайд 7Выбор режима «Запросы»
к.т.н. Герасимов Н.А., Магин Б.Е.

Выбор режима «Запросы»к.т.н. Герасимов Н.А., Магин Б.Е.

Слайд 8Рабочее окно построителя запросов QBE (Query By Example)
Поле для выбора таблиц
к.т.н.

Герасимов Н.А., Магин Б.Е.
Рабочее окно построителя запросов QBE (Query By Example)Поле для выбора таблицк.т.н. Герасимов Н.А., Магин Б.Е.

Слайд 9Пример запроса к одной таблице
Макет простого запроса к таблице Salespeople, построенный

в конструкторе на QBE

к.т.н. Герасимов Н.А., Магин Б.Е.

Пример запроса к одной таблицеМакет простого запроса к таблице Salespeople, построенный в конструкторе на QBE к.т.н. Герасимов

Слайд 10Запуск запроса на исполнение
Для выполнения запроса нажмите пиктограмму [!], которая находится

в центре сроки пиктограмм.
В результате выполнения запроса, получится таблица, которая отображает все строки и все столбцы таблицы Salespeople (см. рис. ниже.).

к.т.н. Герасимов Н.А., Магин Б.Е.

Запуск запроса на исполнениеДля выполнения запроса нажмите пиктограмму [!], которая находится в центре сроки пиктограмм. В результате

Слайд 11Результат простейшего запроса
Результат выполнения запроса, сконструированного на QBE (см. рис.). Запрос: «Выбрать

все столбцы и все строки из таблицы Salespeople»

Результат простейшего запросаРезультат выполнения запроса, сконструированного на QBE (см. рис.). Запрос: «Выбрать все столбцы и все строки

Слайд 12Внимание!
Замечательная особенность конструктора QBE в Access состоит в том, что параллельно

с табличной формой конструирования запроса создается и SQL- выражение, которое можно просмотреть и отредактировать с помощью специального режима «SQL». Теперь перейдем в режим SQL, для чего выполним следующее: Вид→SQL, и получим отображение созданного запроса на языке SQL, который будет иметь вид как показано на рис.3. Внимательно рассмотрим его и убедимся, что его структура полностью соответствует синтаксису команды SELECT в языке SQL, которая в общем виде может представлена следующей структурой:
Внимание!Замечательная особенность конструктора QBE в Access состоит в том, что параллельно с табличной формой конструирования запроса создается

Слайд 13Вид запроса в SQL
SELECT Salespeople.* FROM Salespeople;

Вид запроса в SQLSELECT Salespeople.* FROM Salespeople;

Слайд 14Структура запроса SELECT
SELECT
FROM
[WHERE ]
[ORDER BY

<условия сортировки>]
[GROUP BY <условия группировки>];

к.т.н. Герасимов Н.А., Магин Б.Е.

Структура запроса SELECTSELECT  		FROM 		[WHERE ] 		[ORDER BY ]		[GROUP BY ];к.т.н. Герасимов Н.А., Магин Б.Е.

Слайд 15Пояснения
где SELECT, FROM, WHERE, ORDER BY, GROUP BY ключевые слова языка

SQL,
[ ] – обозначает необязательное присутствие термов,
<список столбцов> - задает список выводимых столбцов, разделенных запятой ( в нашем случае выбраны все столбцы, что обозначено специальным символом «звездочка» ),
<таблица> - задает имя таблицы (или нескольких объединенных таблиц), из которой происходит выбор строк ( в нашем случае таблица Salespeople).

к.т.н. Герасимов Н.А., Магин Б.Е.

Пояснениягде SELECT, FROM, WHERE, ORDER BY, GROUP BY ключевые слова языка SQL,[ ] – обозначает необязательное присутствие

Слайд 16SELECT * FROM Salespeople;
В нашем запросе, созданным с помощью QBE используются

только ключевые слова SELECT и FROM. Другие ключевые слова (WHERE, ORDER BY и т.п.) в запросе отсутствуют, поэтому в данном случае запрос имеет вид как показано выше. Этот запрос выводит все строки и все таблиц таблицы Salespeople

к.т.н. Герасимов Н.А., Магин Б.Е.

SELECT * FROM Salespeople;В нашем запросе, созданным с помощью QBE используются только ключевые слова SELECT и FROM.

Слайд 17Редактирование SQL запроса
Пример сконструированного запроса на языке SQL
Вид SQL запроса после

редактирования:
SELECT * FROM Salespeople;

к.т.н. Герасимов Н.А., Магин Б.Е.

Редактирование SQL запросаПример сконструированного запроса на языке SQLВид SQL запроса после редактирования:SELECT * FROM Salespeople;к.т.н. Герасимов Н.А.,

Слайд 18Пояснение:
Используя встроенный текстовый редактор, отредактируем полученный запрос (рис. выше) до вида

как показано на рис ниже и еще раз запустим запрос на исполнение с помощью пиктограммы [!]. Убедимся, что результат выполнения запроса не изменился. Таким образом, мы можем не только, просматривать запросы в режиме SQL, что само по себе весьма поучительно, но и конструировать любые требуемые запросы на языке SQL, а затем выполнять их в среде СУБД Access.

к.т.н. Герасимов Н.А., Магин Б.Е.

Пояснение:Используя встроенный текстовый редактор, отредактируем полученный запрос (рис. выше) до вида как показано на рис ниже и

Слайд 19Окончательный вид отредактированного SQL запроса
Вид отредактированного запроса в режиме редактора

SQL.

Утверждение: Созданный в QBE запрос можно легко и удобно корректировать в режиме редактора SQL

Окончательный вид отредактированного SQL запроса Вид отредактированного запроса в режиме редактора SQL.Утверждение: Созданный в QBE запрос можно

Слайд 20Изменение SQL запроса
Чтобы убедиться в правильности нашего утверждения, добавим в созданный

запрос условие на отбор строк из таблицы Salespeople. Предположим, что нам надо получить список продавцов, которые живут в городе Москве (т.е. отобрать все записи, которые удовлетворяют условию: WHERE saddress = “Москва”). И так, наш запрос на SQL будет выглядеть так:
SELECT * FROM Salespeople
WHERE saddress = “Москва”.
Изменение SQL запросаЧтобы убедиться в правильности нашего утверждения, добавим в созданный запрос условие на отбор строк из

Слайд 21Запуск созданного SQL запроса на исполнение
Используя пиктограмму [!], запустим созданный запрос

на исполнение и получим следующую таблицу, которая отображена на рис. ниже. Отобраны только 3-и строки, которые удовлетворяют заданному условию: продавцы живут в городе Москва.
Запуск созданного SQL запроса на исполнениеИспользуя пиктограмму [!], запустим созданный запрос на исполнение и получим следующую таблицу,

Слайд 22Результат выполнения SQL запроса с условием
Пример простого запроса с условием.

SELECT

* FROM Salespeople FROM WHERE saddress = “Москва”

к.т.н. Герасимов Н.А., Магин Б.Е.

Результат выполнения SQL запроса с условием Пример простого запроса с условием.SELECT * FROM Salespeople FROM WHERE saddress

Слайд 23Замечание:
При формировании условия значения текстовых столбцов должны браться в кавычки (двойные

или одинарные), столбцы дат – в «решетки» (#).
Примеры: SName = “Иванов” ODate > #10/02/2010#

к.т.н. Герасимов Н.А., Магин Б.Е.

Замечание:При формировании условия значения текстовых столбцов должны браться в кавычки (двойные или одинарные), столбцы дат – в

Слайд 24Возврат из QBE в SQL
Теперь вернемся в режим представления запроса в

форме QBE (режим Конструктор). Для этого выполним Вид → Конструктор, на экране получим форму запроса как показано на рис.6.

к.т.н. Герасимов Н.А., Магин Б.Е.

Возврат из QBE в SQLТеперь вернемся в режим представления запроса в форме QBE (режим Конструктор). Для этого

Слайд 25Просмотр запроса SQL в режиме QBE
Созданный в SQL запрос с условием

можно просмотреть в режиме конструктора.

к.т.н. Герасимов Н.А., Магин Б.Е.

Просмотр запроса SQL  в режиме QBEСозданный в SQL запрос с условием можно просмотреть в режиме конструктора.к.т.н.

Слайд 26Возврат из режима QBE в режим SQL
Запрос, созданный в QBE, в

режиме SQL будет выглядеть так (для перехода в режим SQL выполни Вид→SQL):
SELECT Salespeople.*
FROM Salespeople
WHERE (((Salespeople.saddress)="Москва"));

к.т.н. Герасимов Н.А., Магин Б.Е.

Возврат из режима QBE в режим SQLЗапрос, созданный в QBE, в режиме SQL будет выглядеть так (для

Слайд 27Замечание:
Язык SQL не чувствителен к регистру, на котором пишутся ключевые слова

(например, SELECT и select будут восприниматься одинаково), однако рекомендуется выделять ключевые слова, используя регистр заглавных букв. Кроме того, конструктор при автоматическом построении запросов расставляет много круглых скобок, которые можно удалить при редактировании.
Замечание:Язык SQL не чувствителен к регистру, на котором пишутся ключевые слова (например, SELECT и select будут восприниматься

Слайд 28Пример отредактированного запроса с условием
Например, выше приведенный запрос можно отредактировать, упростить

и представить так:

SELECT * FROM Salespeople WHERE saddress ="Москва";
Пример отредактированного запроса с условиемНапример, выше приведенный запрос можно отредактировать, упростить и представить так:  SELECT *

Слайд 29Резюме:
Таким образом, построенные в SQL запросы удобно просматривать в QBE, где

запрос можно изменить и проверить его корректность, а затем снова вернуться в режим SQL и редактировать запрос в режиме текстового редактора. Такой способ может стать основой быстрого проектирования SQL-запросов («экспресс» технологии), которые затем могут использоваться в других приложениях (например, в VBA или в Web-приложениях).
Резюме:Таким образом, построенные в SQL запросы удобно просматривать в QBE, где запрос можно изменить и проверить его

Слайд 301.2. Задание списка имен столбцов и изменение имен столбцов в запросе.
При

формировании запросов можно указывать список выводимых столбцов и накладывать ограничения на выбранные строки, путем формирования сложных условий отбора записей.
Построить запрос, который отображает нужный набор столбцов (например, snum, sname, semail):
SELECT snum, sname, semail FROM Salespeople;
1.2. Задание списка имен столбцов и изменение имен столбцов в запросе.При формировании запросов можно указывать список выводимых

Слайд 31Запрос с селекцией столбцов
Результат выполнения запроса.
SELECT snum, sname, semail FROM

Salespeople;
Запрос с селекцией столбцов Результат выполнения запроса.SELECT snum, sname, semail FROM Salespeople;

Слайд 32Переименование столбцов
Не редко необходимо переименовать столбцы в запросе, для этого к

имени каждого столбца добавим синоним, используя ключевое слово AS и переделаем запрос следующим образом:
SELECT snum AS Номер, sname AS Фамилия , semail AS Почта FROM Salespeople;

к.т.н. Герасимов Н.А., Магин Б.Е.

Переименование столбцовНе редко необходимо переименовать столбцы в запросе, для этого к имени каждого столбца добавим синоним, используя

Слайд 33Запрос с изменение имен столбцов
Результат выполнения запроса с переименованием столбцов
SELECT

snum AS Номер, sname AS Фамилия , semail AS Почта FROM Salespeople;
Запрос с изменение имен столбцовРезультат выполнения запроса с переименованием столбцов SELECT snum AS Номер, sname AS Фамилия

Слайд 34Внимание!
Таким образом порядок выбранных столбцов и наименования, которые будут выводится в

результате выполнения запроса , определяются в ключевом слове SELECT.
Замечание. Использование синонимов столбцов (с помощью ключевого слово AS), позволяет разработчикам баз данных не использовать кириллицу в именах столбцов на этапе физического проектирования базы данных

к.т.н. Герасимов Н.А., Магин Б.Е.

Внимание!Таким образом порядок выбранных столбцов и наименования, которые будут выводится в результате выполнения запроса , определяются в

Слайд 351.3. Построение запросов со сложными условиям
В языке SQL условия отбора записей

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

Слайд 36Таблица символов для формирования условия отбора строк
Правило 1. Для формирования простого

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

= Равно
> Больше
>=Больше или равно
< Меньше
<=Меньше или равно
<>Не равно
Таблица символов для формирования условия отбора строкПравило 1. Для формирования простого условия можно использовать набор символов, который

Слайд 37Пример запроса с простым условием
Отобрать все товары (т.е. строки из таблицы

price), которые имеют цену больше или равную (>=) 3000.
SELECT pnun AS номер , pname AS наименование, price AS цена FROM price WHERE price>=3000;
Пример запроса с простым условием	Отобрать все товары (т.е. строки из таблицы price), которые имеют цену больше или

Слайд 38
Результат выполнения запроса с условием (price>=3000).
SELECT pnun AS номер , pname

AS наименование, price AS цена FROM price WHERE price>=3000;
Результат выполнения запроса с условием (price>=3000).SELECT pnun AS номер , pname AS наименование, price AS цена

Слайд 39Правило 2.
Для логического соединения простых условий и создания сложного условия используются

логические операторы (ЛО): OR- Логическое «ИЛИ»
AND- Логическое «И»
NOT- Не равно
Правило 2.Для логического соединения простых условий и создания сложного условия используются логические операторы (ЛО):   OR-

Слайд 40Пример запроса со сложным условием
Дополним условие предыдущего запроса еще одним ограничением

по дате регистрации продукта в прайсе (например, pdate>#12/14/2005#;).
Иначе говоря, надо отобрать все строки с товарами, которые имеют цену больше или равную 3000 и зарегистрированы позднее 12/14/2005.

к.т.н. Герасимов Н.А., Магин Б.Е.

Пример запроса со сложным условиемДополним условие предыдущего запроса еще одним ограничением по дате регистрации продукта в прайсе

Слайд 41Пример SQL запроса со сложным условием
На языке SQL запрос выглядит следующим

образом:
SELECT price.pnun AS номер, price.pname AS наименование, price.price AS цена, price.pdate
FROM price
WHERE price>=3000 AND pdate>#12/14/2005#;

к.т.н. Герасимов Н.А., Магин Б.Е.

Пример SQL запроса со сложным условиемНа языке SQL запрос выглядит следующим образом: SELECT price.pnun AS номер, price.pname

Слайд 42Результат выполнения запроса
Выполнение запроса с условием (price>=3000 AND pdate>#12/14/2005#)
SELECT price.pnun

AS номер, price.pname AS наименование, price.price AS цена, price.pdate
FROM price
WHERE price>=3000 AND pdate>#12/14/2005#;

к.т.н. Герасимов Н.А., Магин Б.Е.

Результат выполнения запроса Выполнение запроса с условием (price>=3000 AND pdate>#12/14/2005#)SELECT price.pnun AS номер, price.pname AS наименование, price.price

Слайд 43Рекомендация
Рассмотрите этот запрос в режиме QBE.Здесь Вы заметите, что условие AND

формируется соседними столбцами. Оно указывает, что отбираются записи, которые удовлетворяют и первому и второму условиям одновременно (логическое «И»).
РекомендацияРассмотрите этот запрос в режиме QBE.Здесь Вы заметите, что условие AND формируется соседними столбцами. Оно указывает, что

Слайд 44Просмотр запроса со сложным условием в QBE
Запрос в формате QBE

со сложным условием (price>=3000 AND pdate>#12/14/2005#)
Просмотр запроса со сложным условием в QBE Запрос в формате QBE со сложным условием (price>=3000 AND pdate>#12/14/2005#)

Слайд 45Запрос с логической связкой OR
Сформулируем запрос со сложным условием, который использует

логическую связку «ИЛИ» (OR). Например, надо отобрать все строки прайса для автомобилей «Волга» и «Ауди». ( т.е. условие WHERE pname="Волга" OR pname ="Ауди")
Запрос с логической связкой ORСформулируем запрос со сложным условием, который использует логическую связку «ИЛИ» (OR).  Например,

Слайд 46Вид SQL запроса с логической связкой OR

SELECT pnum AS

номер, pname AS наименование, price AS цена
FROM price
WHERE pname="Волга" OR pname ="Ауди" ;
Вид SQL запроса с логической связкой OR  SELECT pnum AS номер, pname AS наименование, price AS

Слайд 47Замечание:
Логический оператор «ИЛИ» соответствует обычному (бытовому) пониманию союза «и» (т.е. можно

интерпретировать этот логический оператор как «и тот и другой»).
В режиме QBE запрос со связкой «ИЛИ» выглядит так, как показано на рис.ниже. Условия располагаются в одном столбце и связываются союзом «ИЛИ».
Замечание:Логический оператор «ИЛИ» соответствует обычному (бытовому) пониманию союза «и» (т.е. можно интерпретировать этот логический оператор как «и

Слайд 48Вид запроса с логическим оператором OR в QBE
Построение запроса со сложным

условием (pname="Волга" OR pname ="Ауди")
Вид запроса с логическим оператором OR в QBEПостроение запроса со сложным условием (pname=

Слайд 49Результат выполнения SQL запроса
Результат выполнения запроса с логическим условием «ИЛИ» (pname="Волга"

OR pname ="Ауди") показан на рис. ниже. Отобраны только две строки, в которых наименования автомобилей удовлетворяют заданным условиям.
Результат выполнения SQL запросаРезультат выполнения запроса с логическим условием «ИЛИ» (pname=

Слайд 50Результат выполнения запроса
Пример запроса со сложным условием «ИЛИ» (pname="Волга" OR pname

="Ауди")

SELECT pnum AS номер, pname AS наименование, price AS цена
FROM price
WHERE pname="Волга" OR pname ="Ауди" ;

Результат выполнения запросаПример запроса со сложным условием «ИЛИ» (pname=

Слайд 51Правило 3.
Когда много простых условий связано большим числом логических связок, порядок

проверки условий, можно регулировать расстановкой круглых скобок. Сначала проверяется условие, которое находится внутри самых «глубоких» скобок.
Правило 3.Когда много простых условий связано большим числом логических связок, порядок проверки условий, можно регулировать расстановкой круглых

Слайд 52Пример SQL запроса со сложным логическим условием
Пусть задано сложное условие вида

((<условие C >ЛО2(<условие A>ЛО1< условие B>))ЛО3< условие D > ), в котором используются 4-ре простых условия A, B, C и D, соединенные тремя логическими операторами ЛО1, ЛО2 и ЛО3. Последовательность исчисления логического предиката будет следующая:
Сначала вычисляется <условие A> и < условие B> и выполняется логическая связка ЛО1;
Затем вычисляется <условие C > и выполняется ЛО2;
В заключении вычисляется < условие D > ) и выполняется ЛО3.
Пример SQL запроса со сложным логическим условиемПусть задано сложное условие вида  ((ЛО2(ЛО1< условие B>))ЛО3< условие D

Слайд 53SQL запрос со вложенной структурой условий
Рассмотрим запрос со вложенной структурой условий.

Например, надо построить таблицу, в которой будут отобраны строки из таблицы Price, удовлетворяющие следующим условиям:
SELECT pnum AS Номер, pname AS Наименование, price AS Цена
FROM price
WHERE (( pnum ='3001' Or pnum ='3003')
AND ( pdate <=#12/16/2005#) AND ( pdate >=#12/14/2005#)
AND ( price >3000));
SQL запрос со вложенной структурой условийРассмотрим запрос со вложенной структурой условий. Например, надо построить таблицу, в которой

Слайд 541.4. Вставка текстовых столбцов
В запросы можно вставлять текстовые столбцы, которые

облегчают понимание результатов. Например в запросе ниже вставлено два столбца: «Наименование» и «цена».
SELECT pnum AS НОМЕР, 'Наименование' , pname AS НАЗВАНИЕ, 'Цена' , price AS ЦЕНА
FROM price
WHERE pnum ='3003' ;
1.4. Вставка текстовых столбцов В запросы можно вставлять текстовые столбцы, которые облегчают понимание результатов. Например в запросе

Слайд 55Вставка текстовых столбцов
Пример запроса со вставленными текстовыми столбцами
SELECT pnum AS НОМЕР,

'Наименование' , pname AS НАЗВАНИЕ, 'Цена' , price AS ЦЕНА FROM price WHERE pnum ='3003' ;

к.т.н. Герасимов Н.А., Магин Б.Е.

Вставка текстовых столбцовПример запроса со вставленными текстовыми столбцамиSELECT pnum AS НОМЕР, 'Наименование' , pname AS НАЗВАНИЕ,

Слайд 561.5. Вычисляемые столбцы
Следуя принципу минимизации хранимой информации, обычно в реляционных таблицах

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

к.т.н. Герасимов Н.А., Магин Б.Е.

1.5. Вычисляемые столбцыСледуя принципу минимизации хранимой информации, обычно в реляционных таблицах не хранятся столбцы, значения которых может

Слайд 57Запрос с вычисляемым полем
Вывести список заказов (только номера) и вычислить сумму

заказа (произведение цены на стоимость)

к.т.н. Герасимов Н.А., Магин Б.Е.

Запрос с вычисляемым полемВывести список заказов (только номера) и вычислить сумму заказа (произведение цены на стоимость)к.т.н. Герасимов

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть