Обзор языка SQL.ppt

Содержание

Слайд 2

Jet SQL VBA является не единственным языком, который "понимает" программа Access.

Jet SQL

VBA является не единственным языком, который "понимает" программа Access. Язык

структурированных запросов SQL (Structured Query Language) — "родной" язык реляционных баз данных, поэтому программа Access не может его не понимать. При работе с Access «используется диалект Jet SQL.
Слайд 3

JetSQL Язык JetSQL используют для прямого взаимодействия с данными средствами механизма

JetSQL

Язык JetSQL используют для прямого взаимодействия с данными средствами механизма Jet.

Все его инструкции можно формально разделить на две части:
■ Язык управления данными (DML). Этот язык используется для извлечения, изменения и удаления существующих данных, а также для добавления новых данных.
■ Язык определения данных (DDL). Этот язык используется для управлениями объектами в базе данных, в приложении мы не будем его рассматривать.
Слайд 4

Извлечение данных с помощью инструкции SELECT Для извлечения данных с целью

Извлечение данных с помощью инструкции SELECT

Для извлечения данных с целью просмотра

или дальнейшего использования используется инструкция SELECT.
SELECT ALL|DISTINCT список_полей|* FROM источник_данных [WHERE условие]
[GROUP BY столбец1[,столбец2 ..]][HAVING условие]
[ORDER BY столбец1[ASC|DESC] [,столбец2..]
Если опустить компонент all | DISTINCT, SQL предполагает наличие первого из них. Аналогично, в предложении ORDER BY по умолчанию предполагается наличие ключевого слова ASC. Символ звездочки предполагает отбор всех полей в источнике данных.
Слайд 5

Извлечение данных с помощью инструкции SELECT Аргумент список_полей представляет собой, как

Извлечение данных с помощью инструкции SELECT

Аргумент список_полей представляет собой, как и

следует из названия, список имен полей источника данных, разделенных запятыми: SELECT поле1 [AS псевдоним] [, поле2 [AS псевдоним]...]
где поле1, поле2 и т.д. представляют имена полей. Полю, которое в источнике данных имело некоторое имя, можно в результатах запроса присвоить псевдоним. К примеру, в следующей инструкции имена Lname и Fname преобразуются в LastName и FirstName соответственно: SELECT Lname AS LastName, Fname AS FirstName FROM Employees
Слайд 6

Извлечение данных с помощью инструкции SELECT Предложение FROM является обязательным, и

Извлечение данных с помощью инструкции SELECT

Предложение FROM является обязательным, и его

полная форма имеет следующий вид:
FROM источник_данных | таблица_один СВЯЗЬ таблица_много ON таблица_один. первичный_ключ = таблица _много. вторичный_ключ
где таблица_один и таблица_много указывают на две таблицы, участвующие в отношении "один ко многим". Аргумент СВЯЗЬ идентифицирует тип связи между таблицами: INNER JOIN, LEFT или RIGHT. Существуют и другие типы отношений, однако только эти три поддерживаются языком Jet SQL.
Слайд 7

Извлечение данных с помощью инструкции SELECT Предложение WHERE предназначено ограничивать объем

Извлечение данных с помощью инструкции SELECT

Предложение WHERE предназначено ограничивать объем извлекаемых,

обновляемых или удаляемых данных.
Это предложение имеет следующий синтаксис:
WHERE условное_выражение
где условное_выражение может принимать множество форм, однако суть состоит в том, что в результат запроса включаются только те записи, которые удовлетворяют этому условию. В простейшем случае условным выражением может быть операция сравнения значения некоторого поля с константой:
SELECT * FROM Clients
WHERE ClientID = 1
Слайд 8

Извлечение данных с помощью инструкции SELECT Предложение ORDER BY может осуществлять

Извлечение данных с помощью инструкции SELECT

Предложение ORDER BY может осуществлять сортировку

по текстовым и числовым данным, а также по датам. Синтаксис:
ORDER BY столбец1 [ASC | DESC][, столбец2 [ASC | DESC]...]
Компонент asс | DESC определяет вид сортировки: по возрастанию или по убыванию соответственно.
Слайд 9

Извлечение данных с помощью инструкции SELECT Предложение GROUP BY определяет группы

Извлечение данных с помощью инструкции SELECT

Предложение GROUP BY определяет группы и

иногда выполняет вычисление итогов по группе. Синтаксис : GROUP BY столбец1 [, столбец2...]
где столбец1, столбец2 и т.д. являются ссылками на фактические столбцы или вычисляемые поля. Единственное условие участия вычисляемых полей в этом предложении — отсутствие в их выражениях функций и констант агрегирования. Еще одним условием является то, что все поля в инструкции SELECT должны присутствовать в следующем виде:
■ как аргументы функций агрегирования;
■ в предложении GROUP BY — как ссылки на поля.
Слайд 10

Извлечение данных с помощью инструкции SELECT Предложение HAVING ограничивает результаты группировки,

Извлечение данных с помощью инструкции SELECT

Предложение HAVING ограничивает результаты группировки, произведенной

предложением GROUP by. Механизм Jet применяет предложение having уже после группировки данных. Это значит, что вы можете его использовать для отсечения определенных записей уже после группировки, что может оказаться полезным при подведении итогов по группам и последующем применении к результатам некоторого условия.
синтаксис:
HAVING условие
Аргумент условие может представлять собой одно или несколько условий, скомбинированных операторами OR и and в более сложную форму:
HAVING выражение1 AND|OR выражение2
Слайд 11

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

Пример

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

впоследствии их подсчитать. В этом случае можно использовать следующую инструкцию:
SELECT Projects.ClientID, Projects.ProjectName, _
Count(Projects.StartDate) AS CountOfStartDate FROM Projects
WHERE Projects .ClientID = 1 AND ( Projects .StartDate
Between #1/1/2009# And #31/01/2009#)
GROUP BY Projects.ClientID
Обратите внимание, что каждый столбец в инструкции SELECT является либо частью функции агрегирования (в данном случае функции Count) или перечислен в предложении GROUP BY.
Слайд 12

Использование условия Like Условие like использует символы макроподстановки для поиска строк,

Использование условия Like

Условие like использует символы макроподстановки для поиска строк, соответствующих

заданному шаблону:
Пример: условие like используется для поиска всех товаров, названия которых начинаются с ‘Air':
SELECT ProductName FROM Product
WHERE ProductName LIKE 'Air%';
Слайд 13

Множественные условия where В предложении WHERE можно комбинировать множество условий с

Множественные условия where

В предложении WHERE можно комбинировать множество условий с помощью

логических булевых операторов and, or и not. Как и в математических операторах, в булевых логических операторах существует свой порядок приоритетов. Наивысший приоритет имеет оператор and. далее следует or и, наконец, not.
Рассмотрим пример:
SELECT ProductCode, ProductName FROM Product WHERE
ProductName LIKE 'Air%'
AND
ProductName LIKE '%G%’;
Слайд 14

Создание выражений

Создание выражений

Слайд 15

Агрегирующие функции Анализ данных, которые обычно формируются с использованием конструкции GROUP

Агрегирующие функции

Анализ данных, которые обычно формируются с использованием конструкции GROUP BY,

показывает, что эти данные представляют собой результаты агрегирования с помощью функций, воздействующих на группы данных. Рассмотрим наиболее распространенные агрегирующие функции:
Слайд 16

Агрегирующие функции (продолжение) Функция AVG Эта функция применяется для вычисления средних

Агрегирующие функции (продолжение)

Функция AVG
Эта функция применяется для вычисления средних значений.
Функция

COUNT (Выражение / *)
Функция COUNT (*) предназначена для вычисления количества строк в результатах запроса. Для начала рассмотрим одну из наиболее широко применяемых разновидностей запроса:
SELECT COUNT(*) FROM Employee – общее количество строк в таблице Employee.
Слайд 17

Объединение данных Реляционные базы данных по своей природе сегментируют данные в

Объединение данных

Реляционные базы данных по своей природе сегментируют данные в несколько

узких, но достаточно длинных таблиц. Очень редко бывает, когда данные одной таблицы могут обеспечить пользователя смысловой информацией. Таким образом, объединение данных из множества таблиц является одной из основных задач программиста SQL.
Слайд 18

Объединение данных Для создания запросов, выбирающих данные из нескольких таблиц (объединения

Объединение данных

Для создания запросов, выбирающих данные из нескольких таблиц (объединения таблиц)

необходимо использовать дополнительные условия соединения.
Пример
Select Модель.КодМодели, Модель.Название модели, ГотовыйПродукт.Серийный номер FROM Модель, ГотовыйПродукт WHERE Модель.КодМодели = ГотовыйПродукт.КодМодели
Слайд 19

Изменение данных с помощью инструкции UPDATE Инструкция update языка SQL аналогична

Изменение данных с помощью инструкции UPDATE

Инструкция update языка SQL аналогична запросу

обновления, выполняемому в интерфейсе пользователя Access для изменения существующих данных. Эта инструкция использует следующий синтаксис:
UPDATE источник_данных
SET столбец1 = выражение1[, столбец2 = выражение2...]
[WHERE условие]
Слайд 20

Удаление записей с помощью инструкции DELETE синтаксис : DELETE FROM источник_данных

Удаление записей с помощью инструкции DELETE

синтаксис :
DELETE
FROM источник_данных [WHERE условие]
Естественно, вы

можете указать поля, и это не приведет к ошибке, но в то же время будет абсолютно бессмысленным. Инструкция DELETE поймет символ подстановки *, однако он тоже не имеет смысла, так как в любом случае запись удаляется целиком.
Слайд 21

Добавление записей с помощью инструкции INSERT INTO При использовании INSERT данные

Добавление записей с помощью инструкции INSERT INTO

При использовании INSERT данные из

одной таблицы копируются в другую, или в некоторой таблице создается новая запись.
При копировании записей из одной таблицы в другую используется следующий синтаксис:
INSERT INTO таблица_приемник SELECT таблица_источник
где таблица_приемник — это таблица, в которую копируются данные, а таблица_источник— та, из которой эти записи берутся. Эта инструкция поддерживает предложения where и order by.