Your SlideShare is downloading. ×
Access 04
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Access 04

1,299
views

Published on

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

Четвертый модуль моего курса по 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,299
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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