Язык запросов SQL. Язык запросов к данным (DML) презентация

Содержание

Слайд 2

ЯЗЫК ЗАПРОСОВ К ДАННЫМ (DML) Язык запросов к данным является

ЯЗЫК ЗАПРОСОВ К ДАННЫМ (DML)

Язык запросов к данным является одним

из подмножеств языка SQL.
DML состоит всего из одной команды SELECT.
Это один из самых сложных и мощных оператор SQL.
Запросы формируются для извлечения из таблиц базы данных информации соответствующей некоторым требованиям, задаваемым пользователем.
Слайд 3

SELECT Данный оператор возвращает набор данных (выборку) из базы данных,

SELECT

Данный оператор возвращает набор данных (выборку) из базы данных, удовлетворяющих заданному

условию.
Оператор SELECT способен выполнять действия, эквивалентные оператором реляционной алгебры.
Слайд 4

SELECT имена полей в списке разделяются через запятую; для выборки

SELECT

имена полей в списке разделяются через запятую;
для выборки всех полей

таблицы (таблиц) используется символ подстановки *
параметр All (задан по умолчанию) означает, что результат выборки будет содержать все записи, включая дублирующие.
при использовании параметра DISTINCT результат запроса не будет содержать дублирующихся строк
Слайд 5

СИНТАКСИС SELECT [ALL|DISTINCT] {* | имя_поля [AS псевдоним]} FROM список

СИНТАКСИС

SELECT [ALL|DISTINCT] {* | имя_поля [AS псевдоним]} FROM список таблиц [[AS] псевдоним] [

WHERE условие выборки ] [ GROUP BY поле_группировки] [ HAVING критерий выбора групп ] [ ORDER BY поле ] [ LIMIT количество строк ]

Оператор SELECT не используется автономно, вместе с ним обязательно должны задаваться уточняющие предложения.

ОБЯЗАТЕЛЬНЫЕ

ДОПОЛНИТЕЛЬНЫЕ

Слайд 6

ПРЕДЛОЖЕНИЕ OFFSET Select имя поля From имя таблицы Limit 5 offset 5;

ПРЕДЛОЖЕНИЕ OFFSET

Select имя поля
From имя таблицы
Limit 5 offset 5;

Слайд 7

КОММЕНТАРИИ

КОММЕНТАРИИ

Слайд 8

ЗАДАНИЕ УСЛОВИЙ ПРИ ВЫБОРКЕ ДАННЫХ SELECT { ALL | DISTINCT}

ЗАДАНИЕ УСЛОВИЙ ПРИ ВЫБОРКЕ ДАННЫХ

SELECT { ALL | DISTINCT} {*| поле1,

поле2.....полеМ}
FROM Таблица1 {,Таблица2.....ТаблицаM}
WHERE условие
Слайд 9

ОПЕРАТОРЫ В ПРЕДЛОЖЕНИИ WHERE

ОПЕРАТОРЫ В ПРЕДЛОЖЕНИИ WHERE

Слайд 10

СПЕЦИАЛЬНЫЕ ОПЕРАТОРЫ ЯЗЫКА SQL операторы сравнения; логические операторы; операторы объединения; операторы отрицания

СПЕЦИАЛЬНЫЕ ОПЕРАТОРЫ ЯЗЫКА SQL

операторы сравнения;
логические операторы;
операторы объединения;
операторы отрицания

Слайд 11

ОПЕРАТОРЫ СРАВНЕНИЯ Операторы сравнения используются в SQL-запросах для наложения ограничений

ОПЕРАТОРЫ СРАВНЕНИЯ

Операторы сравнения используются в SQL-запросах для наложения ограничений на информацию,

возвращаемую в результате выполнения запроса.
=
<>
>
<
<=
>=
Слайд 12

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ К логическим относятся операторы, в которых для задания

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ

К логическим относятся операторы, в которых для задания ограничений на

от­бор данных используются специальные ключевые слова.
Слайд 13

ОПЕРАТОР IS NULL Оператор IS NULL предназначен для сравнения текущего

ОПЕРАТОР IS NULL

Оператор IS NULL предназначен для сравнения текущего значения поля

со зна­чением NULL.
Он используется для отбора записей, в некоторое поле которых не внесено никакого значения
SELECT Фамилия, Имя, Отчество, Телефон. Город, Адрес
FROM Клиенты
WHERE Предприятие IS NULL
Слайд 14

ОПЕРАТОР BETWEEN...AND Применяется для отбора записей, в которых значения поля

ОПЕРАТОР BETWEEN...AND

Применяется для отбора записей, в которых значения поля находятся внутри

заданного диапазона.
Границы диапазона включаются в условие отбора.
SELECT *
FROM Товары
WHERE Цена BETWEEN 200 AND 2000
Слайд 15

ОПЕРАТОР IN Используется для выборки записей, в которых значение некоторого

ОПЕРАТОР IN

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

хотя бы одному из значений заданного списка.
SELECT Фамилия, Имя, Отчество, Страна
FROМ Клиенты
WHERE Страна IN ('Беларусь', 'Россия', 'Казахстан');
Слайд 16

ОПЕРАТОР NOT Используется для отрицания всех условий, следующих за ним.

ОПЕРАТОР NOT

Используется для отрицания всех условий, следующих за ним.

Слайд 17

ОПЕРАТОР LIKE Оператор LIKE применяется для сравнения значения поля со

ОПЕРАТОР LIKE

Оператор LIKE применяется для сравнения значения поля со значением, за­данным

при помощи шаблонов.
Для задания шаблонов используются два символа:
знак процента (%) — заменяет последовательность символов любой (в том чис­ле и нулевой) длины;
символ подчеркивания (_) — заменяет любой символ.
Слайд 18

Метасимволы – специальные символы, применяемые для поиска части значения. Шаблон

Метасимволы – специальные символы, применяемые для поиска части значения.
Шаблон поиска =

это условие отбора строк.
Like – это предикат
Слайд 19

МЕТАСИМВОЛ [] Служит для указания набора символов, каждый из которых

МЕТАСИМВОЛ []

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

с искомым значением, причем на указанном месте.
Слайд 20

НАЙДЕМ В ТАБЛИЦЕ КЛИЕНТЫ ЗАПИСИ, В КОТОРЫХ ФАМИЛИЯ КЛИЕНТА НАЧИНАЕТСЯ

НАЙДЕМ В ТАБЛИЦЕ КЛИЕНТЫ ЗАПИСИ, В КОТОРЫХ ФАМИЛИЯ КЛИЕНТА НАЧИНАЕТСЯ С

БУК­ВЫ «М»:

SELECT Фамилия, Имя, Отчество, Телефон
FROM Клиенты
WHERE Фамилия LIKE 'М%’;
Найдем записи, для которых номер телефона начинается с символов (816)025-61, а две последние цифры неизвестны:
SELECT Фамилия, Имя, Отчество, Телефон
FROM Клиенты
WHERE Телефон LIKE '(816)025-61__'

Слайд 21

ОПЕРАТОР UNIQUE Оператор UNIQUE используется для проверки записи таблицы на уникальность. SELECT UNIQUE Дата_продажи FROM Продажи;

ОПЕРАТОР UNIQUE

Оператор UNIQUE
используется для проверки записи таблицы на уникальность.
SELECT UNIQUE

Дата_продажи FROM Продажи;
Слайд 22

ОПЕРАТОР EXISTS Оператор EXISTS используется для отбора записей, соответствующих заданному

ОПЕРАТОР EXISTS

Оператор EXISTS используется для отбора записей, соответствующих заданному критерию.
SELECT Наименование,

Цена
FROM Товары
WHERE EXISTS
(SELECT *
FROМ Продажи
WHERE Продано>10);
Слайд 23

ОПЕРАТОР UNIQUE Оператор UNIQUE По своему действию он аналогичен оператору

ОПЕРАТОР UNIQUE

Оператор UNIQUE
По своему действию он аналогичен оператору EXISTS.
Единственное отличие

заключа­ется в том, что подзапрос, задаваемый после ключевого слова UNIQUE, не должен возвращать более одной записи.
SELECT UNIQUE Дата_продажи FROM Продажи;
Слайд 24

ОПЕРАТОР ALL Оператор ALL используется для сравнения исходного значения со

ОПЕРАТОР ALL

Оператор ALL используется для сравнения исходного значения со всеми другими

значениями, входящими в некоторый набор данных.
SELECT *
FROM Товары
WHERE Цена > АLL
(SELECT Цена
FROM Продажи
WHERE Продано>10)
Слайд 25

ОПЕРАТОР ANY Оператор ANY применяется для сравнения заданного значения с

ОПЕРАТОР ANY

Оператор ANY применяется для сравнения заданного значения с каждым из

значе­ний некоторого набора данных.
Если в предыдущем примере заменить оператор: ALL оператором ANY, то будет возвращен список товаров, цена которых больше, чем хотя бы у одного из товаров, проданных в количестве больше 10.
Слайд 26

ОПЕРАТОРЫ ОБЪЕДИНЕНИЯ Оператор AND используется в тех случаях, когда необходимо

ОПЕРАТОРЫ ОБЪЕДИНЕНИЯ

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

соответствующие нескольким условиям, причем для каждой записи, включае­мой в результат выборки, должны выполняться все заданные ограничения.
Опе­ратор AND объединяет несколько условий путем выполнения операции логи­ческого умножения результатов всех заданных ограничений. Результат true, соответственно, будет получен только в том случае, если все объединяемые ус­ловия принимают значение true.
Слайд 27

Для примера произведем выборку данных о то­варах, цена которых больше

Для примера произведем выборку данных о то­варах, цена которых больше 50,

но меньше 1000:
SELECT *
FROМ Товары
WHERE (Цена>50) AND (Цена<1000)
Слайд 28

ОПЕРАТОРЫ ОБЪЕДИНЕНИЯ Оператор OR выполняет операцию логического сложения результатов всех

ОПЕРАТОРЫ ОБЪЕДИНЕНИЯ

Оператор OR выполняет операцию логического сложения результатов всех за­данных условий.


При использовании данного оператора запись включается в результирующую выборку в случае выполнения хотя бы одного из заданных ограничений
Слайд 29

Синтаксические правила использования оператора 0R такие же, как и для

Синтаксические правила использования оператора 0R такие же, как и для опера­тора

AND. Следующий запрос возвратит список товаров, цена которых меньше 50 или больше 1000
SELECT *
FROM Товары
WHERE (Цена<50) OR (Цена>1000)
Слайд 30

ОПЕРАТОР ОТРИЦАНИЯ Для каждого из рассматриваемых операторов может быть выполнена

ОПЕРАТОР ОТРИЦАНИЯ

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

меняющая результат выполнения оператора на противоположный. Для реализации этой операции используется оператор NOT.
Примеры применения этого оператора к логическим операторам:
IS NOT NULL
NOT BETWEEN
NOT IN
NOT LIKE
NOT EXISTS
NOT UNIQUE
Слайд 31

ВЫЧИСЛЯЕМЫЕ ПОЛЯ При создании вычисляемого поля можно использовать следующие арифметические

ВЫЧИСЛЯЕМЫЕ ПОЛЯ

При создании вычисляемого поля можно использовать следующие арифметические операторы:
□ оператор

сложения (+) или (||);
□ оператор вычитания (-);
□ оператор умножения (*);
□ оператор деления (/).
Слайд 32

ПРИОРИТЕТ ОПЕРАТОРОВ Приоритет перечисленных операторов соответствует общепринятому: сначала выполняются умножение

ПРИОРИТЕТ ОПЕРАТОРОВ

Приоритет перечисленных операторов соответствует общепринятому: сначала выполняются умножение и деление,

затем — сложение и вычитание.
Порядком выполнения операторов можно управлять с помощью круглых скобок.
Слайд 33

SELECT [Код товара], Цена, Заказано, Продано, Цена*Продано, Цена*3аказано. Цена*Заказано-Цена*Продано FROM Продажи

SELECT [Код товара], Цена, Заказано, Продано, Цена*Продано, Цена*3аказано. Цена*Заказано-Цена*Продано
FROM Продажи

Слайд 34

МАТЕМАТИЧЕСКИЕ ФУНКЦИИ Помимо арифметических операторов допускается использование ряда математических функций,

МАТЕМАТИЧЕСКИЕ ФУНКЦИИ

Помимо арифметических операторов допускается использование ряда математических функций, например:
□ ABS

— вычисление абсолютного значения;
□ ROUND — округление;
□ SQR — извлечение квадратного корня;
□ ЕХР — экспонента;
□ LOG — натуральный логарифм;
□ SIN, COS, TAN — тригонометрические функции.
Слайд 35

ПСЕВДОНИМЫ ПОЛЕЙ В SQL-запросах можно изменять имена полей. Задаваемые при

ПСЕВДОНИМЫ ПОЛЕЙ

В SQL-запросах можно изменять имена полей. Задаваемые при этом новые

имена называются псевдонимами (aliases). Их удобно применять при задании в запросе вычисляемых полей.
С помощью псевдонимов этим полям можно присваивать осмысленные имена. Псевдоним помещается после имени поля или вычисляемого выражения через ключевое слово AS.
Слайд 36

ПРИМЕР В качестве примера воспользуемся предыдущим запросом, задав в нем

ПРИМЕР

В качестве примера воспользуемся предыдущим запросом, задав в нем псевдонима для

вычисляемых полей:
SELECT [Код товара], Цена, Заказано, Продано, Цена *Продано AS [Сумма продажи], Цена *3аказано AS [Сумма заказа], Цена *Заказано-Цена*Продано AS [Разность]
FROM Продажи
Слайд 37

ФУНКЦИИ АГРЕГИРОВАНИЯ Функциями агрегирования называются функции, которые позволяют определить количество

ФУНКЦИИ АГРЕГИРОВАНИЯ

Функциями агрегирования называются функции, которые позволяют определить количество записей в

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

СТАНДАРТНЫЕ ФУНКЦИИ АГРЕГИРОВАНИЯ COUNT — выполняет подсчет записей в таблице

СТАНДАРТНЫЕ ФУНКЦИИ АГРЕГИРОВАНИЯ

COUNT — выполняет подсчет записей в таблице или подсчет

ненулевых значений в столбце таблицы;
SUM — возвращает сумму содержащихся в столбце значений;
MIN — возвращает минимальное значение в столбце;
МАХ — возвращает максимальное значение в столбце;
AVG — вычисляет среднее значение для содержащихся в столбце значений.
Слайд 39

SELECT Сount(Продано) AS [Всего записей], МIN(Продано) AS min, МАХ(Продано) AS

SELECT Сount(Продано) AS [Всего записей], МIN(Продано) AS min, МАХ(Продано) AS max, SUM(продано)

AS [Всего продано], AVG(ПРОДАНО) AS [Среднее количество продаж]
FROM Продажи
Слайд 40

Со всеми функциями агрегирования можно использовать параметр DISTINCT. В этом

Со всеми функциями агрегирования можно использовать параметр DISTINCT.
В этом случае

выполняется обобщение информации только для различающихся строк.
Слайд 41

ГРУППИРОВКА ДАННЫХ Группировка данных — это объединение записей в соответствии

ГРУППИРОВКА ДАННЫХ

Группировка данных — это объединение записей в соответствии со значениями

некоторого поля.
Для группировки результатов выборки совместно с оператором SELECT используется предложение GROUP BY.
Слайд 42

Данное предложение должно следовать после предложения WHERE, но перед предложением

Данное предложение должно следовать после предложения WHERE, но перед предложением ORDER

BY.
После ключевых слов GROUP указывается список полей, включенных в выборку с помощью оператора SELECT, нужно обязательно указывать все отбираемые поля (за исключением полей, относящихся к агрегирующим функциям), хотя порядок их перечисления после предложения GROUP BY может не соответствовать порядку списка после слова SELECT.
Слайд 43

СИНТАКСИС ОПЕРАТОРА SELECT С ПРЕДЛОЖЕНИЕМ GROUP BY СЛЕДУЮЩИЙ SELЕСТ поле1,

СИНТАКСИС ОПЕРАТОРА SELECT С ПРЕДЛОЖЕНИЕМ GROUP BY СЛЕДУЮЩИЙ

SELЕСТ поле1, поле2.....nameN
FROM Таблица

1 {, Таблица2.....ТаблицаN
WHERЕ условие
GROUP BY namel, поле2.....nameN
ORDER BY поле1 {ASC | DESC}
Слайд 44

HAVING Играет такую же роль для групп, как WHERE для

HAVING

Играет такую же роль для групп, как WHERE для строк. Используется

для исключения групп.
Используя оператор SQL HAVING вывести название исполнителей (Singer) число продаж альбомов (Sale) которого больше 2000000:
Слайд 45

УПОРЯДОЧЕНИЕ ДАННЫХ Для упорядочения данных в выборке, полученной в результате

УПОРЯДОЧЕНИЕ ДАННЫХ

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

используется предложение ORDER BY.
Синтаксис:
SELECT {* | ALL | DISTINCT поле1, поле2.....noneN}
FROM Таблица1 {, Таблица2,...,ТаблицаN}
WHERE условие
ORDER BY поле (ASC | DESC)
Слайд 46

ПОРЯДОК СОРТИРОВКИ После ключевых слов ORDER BY сначала указывается имя

ПОРЯДОК СОРТИРОВКИ

После ключевых слов ORDER BY сначала указывается имя поля (полей),

по которому производится сортировка, а затем — режим сортировки:
□ ASC — информация располагается в порядке возрастания значения указанного поля (для текстовых полей — в алфавитном порядке), этот режим используется по умолчанию;
□ DESC — информация располагается в порядке убывания значений указан: поля (для текстовых полей — в порядке, обратном алфавитному).
Слайд 47

НАПРИМЕР SELECT Категория. Наименование. Цена FROM Товары ORDER BY Наименование

НАПРИМЕР

SELECT Категория. Наименование. Цена
FROM Товары
ORDER BY Наименование

Слайд 48

Вместо имени поля в предложении ORDER BY можно указать целое

Вместо имени поля в предложении ORDER BY можно указать целое число,

определяющее порядковый номер поля в списке после ключевого слова SELECT (если производится выборка всех полей таблицы с помощью символа *, то число задает порядковый номер поля в таблице базы данных).
SELECT Категория, Наименование, Цена FROM Товары ORDER BY 3 DESC
Слайд 49

ВЫВОД ДАННЫХ В СЛУЧАЙНОМ ПОРЯДКЕ SELECT catalog_ id, name FROM catalogs ORDER BY RAND() ;

ВЫВОД ДАННЫХ В СЛУЧАЙНОМ ПОРЯДКЕ

SELECT catalog_ id, name FROM catalogs ORDER

BY RAND() ;
Имя файла: Язык-запросов-SQL.-Язык-запросов-к-данным-(DML).pptx
Количество просмотров: 122
Количество скачиваний: 0