ИиМ-Лк_2-1 (Основы SQL-1).ppt
- Количество слайдов: 26
Основы SQL-1 1. 2. 3. 4. 5. Категории команд SQL Оператор Select - выборка данных Простая выборка данных Условия и сортировка Вычисляемые поля и итоговые функции
Категории команд SQL DDL – язык определения данных; DML – язык манипулирования данными; DQL – язык запросов; DCL – язык управления данными; команды администрирования данных; команды управления транзакциями
Категории команд SQL Манипулирование данными (DML) Язык манипулирования данными (Data Manipulation Language, DML) используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд: INSERT, UPDATE, DELETE. Выборка данных (DQL) Язык запросов DQL включает одну команду SELECT. Эта команда вместе со своими многочисленными опциями и предложениями используется для формирования запросов к реляционной базе данных.
Оператор Select - выборка данных Общая форма записи SELECT [ALL | DISTINCT ] {*|[имя_столбца [AS новое_имя]]} [, . . . n] FROM имя_таблицы [, . . . n] [WHERE <условие_поиска>] [GROUP BY имя_столбца [, . . . n]] [HAVING <критерии выбора групп>] [ORDER BY имя_столбца [, . . . n]]
Оператор Select - выборка данных Оператор SELECT определяет поля (столбцы), которые будут входить в результат выполнения запроса. В списке они разделяются запятыми и приводятся в такой очередности, в какой должны быть представлены в результате запроса. Если используется имя поля, содержащее пробелы или разделители, его следует заключить в квадратные скобки. Символом * можно выбрать все поля. Если обрабатывается ряд таблиц, то (при наличии одноименных полей в разных таблицах) в списке полей используется полная спецификация поля, т. е. Имя_таблицы. Имя_поля.
Оператор Select - выборка данных Предложение FROM задает имена таблиц и просмотров, которые содержат поля, перечисленные в операторе SELECT. Порядок предложений и фраз в операторе SELECT не может быть изменен. Только два предложения SELECT и FROM являются обязательными, все остальные могут быть опущены.
Простая выборка данных id fam predmet rate 1 Петров Математика 65 2 Васечкин Математика 71 3 Петров Информатика 84 4 Борискина Математика 74 5 Борискина Информатика 79 6 Васечкин Информатика 85 7 Васечкин Физика 67 8 Петров Физика 89 9 Борискина Физика 73 Таблица EGE
Простая выборка данных Select * from ege; Результат: вся исходная таблица.
Условия и сортировка Для определения условия используется предложение WHERE. Для задания сложно условия можно использовать логические операторы and, or, not; оператор диапазона BETWEEN; оператор принадлежности IN; оператор соответствия шаблону LIKE.
Условия и сортировка Select fam, rate From ege Where rate>80; fam Петров Васечкин Петров rate 84 85 89
Условия и сортировка Select fam, rate, predmet From ege Where rate>70 and (predmet='Математика' or predmet='Физика') fam Васечкин Борискина Петров Борискина rate 71 74 89 73 predmet Математика Физика
Условия и сортировка Select fam, rate, predmet From ege Where rate>70 and predmet IN ('Математика', 'Физика')
Условия и сортировка Select fam, rate, predmet From ege Where rate BETWEEN 75 and 80 fam Борискина rate 79 predmet Информатика
Условия и сортировка Select fam, rate, predmet From ege Where fam LIKE 'П*' and predmet LIKE '*тика'; fam Петров rate predmet 65 Математика 84 Информатика
Условия и сортировка В общем случае строки в результирующей таблице SQLзапроса никак не упорядочены. Для сортировки в оператор SELECT помещается фраза ORDER BY, которая сортирует данные в заданной последовательности. Сортировка может выполняться по нескольким полям, в этом случае они перечисляются за ключевым словом ORDER BY через запятую. Способ сортировки задается ключевым словом, указываемым в рамках параметра ORDER BY следом за названием поля, по которому выполняется сортировка. По умолчанию реализуется сортировка по возрастанию (ASC, для обратной последовательности – DESC). Фраза ORDER BY всегда должна быть последним элементом в операторе SELECT.
Условия и сортировка Select fam, predmet, rate From ege where rate>75 order by rate DESC; fam predmet Петров Физика Васечкин Информатика Петров Информатика Борискина Информатика rate 89 85 84 79
Условия и сортировка Select fam, predmet, rate From ege where rate>75 order by fam, rate DESC; fam predmet Борискина Информатика Васечкин Информатика Петров Физика Петров Информатика rate 79 85 89 84
Вычисляемые поля и итоговые функции В общем случае для создания вычисляемого (производного) поля в списке SELECT следует указать некоторое выражение языка SQL. В этих выражениях применяются арифметические операции сложения, вычитания, умножения и деления, а также встроенные функции языка SQL. Стандарты SQL позволяют явным образом задавать имена столбцов результирующей таблицы, для чего применяется фраза AS.
Вычисляемые поля и итоговые функции SELECT fam, predmet, rate, (round(rate/20)) AS prc FROM ege WHERE predmet='Физика' ORDER BY (round(rate/20)) DESC; fam predmet Борискина Физика Петров Физика Васечкин Физика rate 73 89 67 prc 4 4 3
Вычисляемые поля и итоговые функции SELECT fam, LEFT(predmet, 3) as skr, rate FROM ege WHERE rate >75 ORDER BY rate DESC; fam skr rate Петров Физ 89 Васечкин Инф 85 Петров Инф 84 Борискина Инф 79
Вычисляемые поля и итоговые функции С помощью итоговых (агрегатных) функций в рамках SQL-запроса можно получить ряд обобщающих статистических сведений о множестве отобранных значений выходного набора. Чаще всего используются следующие итоговые функции: • Count (Выражение) - определяет количество записей в выходном наборе SQL-запроса; • Min/Max (Выражение) - определяют наименьшее и наибольшее из множества значений в некотором поле запроса; • Avg (Выражение) - эта функция позволяет рассчитать среднее значение множества значений, хранящихся в определенном поле отобранных запросом записей. Оно является арифметическим средним значением, т. е. суммой значений, деленной на их количество. • Sum (Выражение) - вычисляет сумму множества значений, содержащихся в определенном поле отобранных запросом записей.
Вычисляемые поля и итоговые функции Чаще всего в качестве выражения выступают имена столбцов. Выражение может вычисляться и по значениям нескольких таблиц. Все эти функции оперируют со значениями в единственном столбце таблицы или с арифметическим выражением и возвращают единственное значение. Функции COUNT, MIN и MAX применимы как к числовым, так и к нечисловым полям, тогда как функции SUM и AVG могут использоваться только в случае числовых полей.
Вычисляемые поля и итоговые функции Если список в предложении SELECT содержит итоговые функции, а в тексте запроса отсутствует фраза GROUP BY, обеспечивающая объединение данных в группы, то ни один из элементов списка предложения SELECT не может включать каких-либо ссылок на поля, за исключением ситуации, когда поля выступают в качестве аргументов итоговых функций.
Вычисляемые поля и итоговые функции SELECT max(rate) as maximum FROM ege (неправильно: SELECT fam, predmet, max(rate) as maximum FROM ege) maximum 89
Вычисляемые поля и итоговые функции SELECT avg(rate) as fiz_sred FROM ege where predmet='Физика' fiz_sred 76, 33333 SELECT avg(rate) as vas_sred FROM ege where fam='Васечкин' vas_sred 74, 33333
Вычисляемые поля и итоговые функции SELECT count(fam) as vas FROM ege where fam='Васечкин' vas 3 SELECT sum(rate) as vas_vsego FROM ege where fam='Васечкин' vas_vsego 223


