Модуль 4:SQL – запросы<br />Александр Бабич<br />Alexander.taurus@gmail.com<br />
О чемпойдетречь<br />Ввод SQL выражений. Основные конструкции языка<br />Оператор SELECT . Построение простых запросов с у...
Урок 1: Что такое SQL<br />Ввод SQL выражений. Основные конструкции языка<br />Оператор SELECT . Построение простых запрос...
Что такое SQL<br />StructuredQueryLanguage — язык структурированных запросов<br />универсальный язык, для создания, модифи...
Microsoft Access и SQL<br />поддержкадвухстандартовSQL:<br />ANSI<br />MS Jet SQL<br />Отличия:<br />разные наборы зарезер...
«Общие» инструкции <br />
Операторы <br />Большинство операторов сравнения совпадают: =, <, <=, > и =><br />Исключение составляет оператор неравенст...
Функции и операторы<br />
Новинки Jet SQL<br />
Типы данных<br />
Подстановочные знаки<br />
Разделители и символы<br />запятые используются для разделения членов списков<br />Имя, Фамилия, Отчество, Год рождения, А...
Создание SQL-запросов<br />
ИнструкцияSELECT<br />SELECT [предикат] { * | таблица.* | [таблица.]поле_1 [AS псевдоним_1] [, [таблица.]поле_2 [AS псевдо...
Примеры<br />SELECT TOP 25 * FROM Заказы IN "С:Мои ДокументыБорей.mdb";<br />SELECT Заказано.*, Заказы.КодКлиента, Заказы....
Исключение повторений<br />DISTINCTROW и DISTINCT в инструкции SELECT позволяют исключить из результирующего множества пов...
Аггрегирующие функции<br />AVG() – среднее значение<br />COUNT() – количество строк<br />FIRST() – первое значение<br />LA...
Скалярные функции<br />UCASE() – верхний регистр<br />LCASE() – нижний регистр<br />MID() – извлечение символов из текста<...
Примеры<br />SELECT Count(*) AS [Number of Invoices] FROM tblInvoices<br />SELECT Avg(Amount) AS [Average Invoice Amount] ...
Урок 2: SQL-запросы в Access<br />Запросы на добавление, обновление, удаление, создание таблицы<br />
Запросы на добавление<br />INSERT INTO назначение [(поле_1[, поле_2[, ...]])] [IN внешняяБазаДанных]SELECT [источник.]поле...
Запросы на обновление<br />UPDATE таблица SET поле=новоеЗначение WHERE условиеОтбора<br />Примеры:<br />UPDATE [Товары] SE...
Запросы на удаление<br />DELETE [таблица.]*, поле1 [,...] FROM таблицаWHERE условиеОтбора<br />Пример:<br />DELETE [Товары...
Запросы на создание таблицы<br />CREATE [TEMPORARY] TABLE таблица (поле_1 тип [(размер)][NOT NULL] [WITH COMPRESSION | WIT...
Упражнение<br />Попробовать создать запросы для вашей БД на основе SQL<br />
Подводимитоги<br />Ввод SQL выражений. Основные конструкции языка<br />Оператор SELECT . Построение простых запросов с усл...
Вопросы?<br />
Контрольные вопросы<br />Какие стандарты SQL поддерживаются Microsoft Access? В чем различия между ними?<br />Как создать ...
Использованные источники<br />Иллюстрированный самоучитель по MicrosoftAccesshttp://www.taurion.ru/access<br />Microsoft A...
Upcoming SlideShare
Loading in …5
×

Access 04

1,478 views

Published on

Четвертый модуль моего курса по Access 2003

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,478
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Access 04

  1. 1. Модуль 4:SQL – запросы<br />Александр Бабич<br />Alexander.taurus@gmail.com<br />
  2. 2. О чемпойдетречь<br />Ввод SQL выражений. Основные конструкции языка<br />Оператор SELECT . Построение простых запросов с условиями отбора<br />Статистические функции COUNT, FIRST, LAST<br />Статистические функции MIN, MAX, AVG. Функция SUM<br />Запросы на добавление, обновление, удаление, создание таблицы<br />
  3. 3. Урок 1: Что такое SQL<br />Ввод SQL выражений. Основные конструкции языка<br />Оператор SELECT . Построение простых запросов с условиями отбора<br />Статистические функции COUNT, FIRST, LAST<br />Статистические функции MIN, MAX, AVG. Функция SUM<br />
  4. 4. Что такое SQL<br />StructuredQueryLanguage — язык структурированных запросов<br />универсальный язык, для создания, модификации и управления данными в реляционных БД<br />70-е - средствоработы конечного пользователя<br />не являетсяязыкомпрограммирования!<br />Но есть возможность процедурных расширений<br />
  5. 5. Microsoft Access и SQL<br />поддержкадвухстандартовSQL:<br />ANSI<br />MS Jet SQL<br />Отличия:<br />разные наборы зарезервированных слов и типов данных<br />разные правила для оператора Between … And …<br />разные подстановочные знаки оператора Like (? и _, * и %)<br />JetSQL - разрешается группировка и сортировка по выражениям<br />JetSQL – более сложные выражения и дополнительные инструкции<br />
  6. 6. «Общие» инструкции <br />
  7. 7. Операторы <br />Большинство операторов сравнения совпадают: =, <, <=, > и =><br />Исключение составляет оператор неравенства<br />! = в ANSI SQL <br /><> в Jet SQL<br />
  8. 8. Функции и операторы<br />
  9. 9. Новинки Jet SQL<br />
  10. 10. Типы данных<br />
  11. 11. Подстановочные знаки<br />
  12. 12. Разделители и символы<br />запятые используются для разделения членов списков<br />Имя, Фамилия, Отчество, Год рождения, Адрес, Город, Индекс;<br />для задания имен полей, которые содержат пробелы применяются квадратные скобки<br />[Дата размещения];<br />если в запрос включены поля нескольких таблиц, то включается полное имя поля<br />состоит из двух частей: имени таблицы и имени поля, между которыми используется точка<br />Заказы. КодЗаказа;<br />строки заключаются как в одиночные('), так и в двойные кавычки ( ")<br />при использовании инструкций SQL в процедурах VBA рекомендуется ставить одиночные кавычки<br />в конце инструкции Jet SQL обязательно ставится точка с запятой; <br />
  13. 13. Создание SQL-запросов<br />
  14. 14. ИнструкцияSELECT<br />SELECT [предикат] { * | таблица.* | [таблица.]поле_1 [AS псевдоним_1] [, [таблица.]поле_2 [AS псевдоним_2] [,...]]}FROM выражение [, ...] [IN внешняяБазаДанных][WHERE...][GROUP BY...][HAVING...][ORDER BY...][WITH OWNERACCESS OPTION]<br />Подробности<br />
  15. 15. Примеры<br />SELECT TOP 25 * FROM Заказы IN "С:Мои ДокументыБорей.mdb";<br />SELECT Заказано.*, Заказы.КодКлиента, Заказы.ДатаИсполнения,Заказы.КодЗаказаFROM Заказы, ЗаказаноWHERE (((Заказы.ДатаИсполнения)>=#1/1/1998#) AND((Заказы.КодЗаказа)=[Заказано].[КодЗаказа])) OR(((Заказы.ДатаИсполнения) Is Null) AND((Заказы.КодЗаказа)=[Заказано].[КодЗаказа]));<br />SELECT Клиенты.Название, Клиенты.Город, Клиенты.Адрес FROM КлиентыWHERE (((Клиенты.Страна)IN ('США','Канада',Мексика')));<br />
  16. 16. Исключение повторений<br />DISTINCTROW и DISTINCT в инструкции SELECT позволяют исключить из результирующего множества повторяющиеся строки<br />DISTINCTROW – для сравнения записей применяются все поля исходной таблицы<br />независимо от того, какие из полей включены в запрос<br />DISTINCT – для сравнения записей используются только те поля, которые включены в запрос<br />
  17. 17. Аггрегирующие функции<br />AVG() – среднее значение<br />COUNT() – количество строк<br />FIRST() – первое значение<br />LAST() – последнее значение<br />MAX() – наибольшее значение<br />MIN() – наименьшее значение<br />SUM() – сумма <br />
  18. 18. Скалярные функции<br />UCASE() – верхний регистр<br />LCASE() – нижний регистр<br />MID() – извлечение символов из текста<br />LEN() – длина текста<br />ROUND() – округление значения<br />NOW() – текущая дата-время<br />FORMAT() – форматирование значения<br />
  19. 19. Примеры<br />SELECT Count(*) AS [Number of Invoices] FROM tblInvoices<br />SELECT Avg(Amount) AS [Average Invoice Amount] FROM tblInvoices<br />SELECT Last(Amount) AS [Last Invoice Amount] FROM tblInvoices<br />
  20. 20. Урок 2: SQL-запросы в Access<br />Запросы на добавление, обновление, удаление, создание таблицы<br />
  21. 21. Запросы на добавление<br />INSERT INTO назначение [(поле_1[, поле_2[, ...]])] [IN внешняяБазаДанных]SELECT [источник.]поле_1[, поле_2[, ...]FROM выражение [, ...] [IN внешняяБазаДанных][WHERE...][GROUP BY...][HAVING...][ORDER BY...][WITH OWNERACCESS OPTION]<br />Примеры:<br />INSERT INTO Доставка (Название, Телефон)VALUES («Аэрофлот", "(095) 211-9988");<br />INSERT INTO Временная ( КодКлиента, [Стоимостьзаказа] )SELECT Заказы.КодКлиента, sum([Цена]*[Количество])FROM Заказано, ЗаказыIN "С:Мои ДокументыDataBasel.mdb"WHERE («Заказано.КодЗаказа)=[Заказы].[КодЗаказа]))GROUP BY Заказы.КодКлиентаORDER BY Sum([Цена]*[Количество])DESC;<br />
  22. 22. Запросы на обновление<br />UPDATE таблица SET поле=новоеЗначение WHERE условиеОтбора<br />Примеры:<br />UPDATE [Товары] SET [Товары].ПоставкиПрекращены = False WHERE ((([Товары].ПоставкиПрекращены)=Тruе));<br />UPDATE Заказы INNER JOIN Заказано ON Заказы.КодЗаказа = Заказано.КодЗаказа SET Заказано.Скидка = 0 WHERE (((Заказы-ДатаИсполнения) Is Null));<br />
  23. 23. Запросы на удаление<br />DELETE [таблица.]*, поле1 [,...] FROM таблицаWHERE условиеОтбора<br />Пример:<br />DELETE [Товары].ПоставкиПрекращены FROM [Товары] WHERE ((([Товары].ПоставкиПрекращены)=Тruе));<br />DROP {TABLE таблица | INDEX индексON таблица| PROCEDURE процедура | VIEW представление}<br />
  24. 24. Запросы на создание таблицы<br />CREATE [TEMPORARY] TABLE таблица (поле_1 тип [(размер)][NOT NULL] [WITH COMPRESSION | WITH COMP][индекс_1] [, поле_2 тип [(размер)] [NOT NULL][индекс_2] [, ...]] [, CONSTRAINT составнойИндекс [, ...]])<br />
  25. 25. Упражнение<br />Попробовать создать запросы для вашей БД на основе SQL<br />
  26. 26. Подводимитоги<br />Ввод SQL выражений. Основные конструкции языка<br />Оператор SELECT . Построение простых запросов с условиями отбора<br />Статистические функции COUNT, FIRST, LAST<br />Статистические функции MIN, MAX, AVG. Функция SUM<br />Запросы на добавление, обновление, удаление, создание таблицы<br />
  27. 27. Вопросы?<br />
  28. 28. Контрольные вопросы<br />Какие стандарты SQL поддерживаются Microsoft Access? В чем различия между ними?<br />Как создать SQL-запрос в Access?<br />Перечислите типы SQL-запросов Access<br />
  29. 29. Использованные источники<br />Иллюстрированный самоучитель по MicrosoftAccesshttp://www.taurion.ru/access<br />Microsoft Accesshttp://matveev.kiev.ua/macceass/index.htm<br />SQLhttp://ru.wikipedia.org/wiki/SQL<br />SQL Functionshttp://www.w3schools.com/sql/sql_functions.asp<br />

×