Содержание
- 2. Содержание 1. ВВЕДЕНИЕ В SQL 1.1. Общее представление о SQL 1.2. Отличия SQL от языков программирования
- 3. 1. ВВЕДЕНИЕ В SQL 1.1. Общее представление о SQL Куликова Елена Васильевна
- 4. Понятие языка SQL (обычно произносимый как «СИКВЭЛ» или «ЭСКЮЭЛЬ») символизирует собой структурированный язык запросов. Это язык,
- 5. Официальный стандарт - ANSI/ISO Язык SQL имеет официальный стандарт - ANSI/ISO (ANSI - Американский национальный институт
- 6. 1.2. Отличия SQL от языков программирования SQL не является языком программирования в традиционном представлении. На SQL
- 7. 1.3. Трехзначная логика. Основные операции в трехзначной логике Операция НЕ Куликова Елена Васильевна
- 8. 1.3. Трехзначная логика. Основные операции в трехзначной логике Операция ИЛИ Куликова Елена Васильевна
- 9. 1.3. Трехзначная логика. Основные операции в трехзначной логике Операция И Куликова Елена Васильевна
- 10. 1.3. Трехзначная логика. Основные операции в трехзначной логике ЯВЛЯЕТСЯ ли (IS) Куликова Елена Васильевна
- 11. 1.4. Реализации SQL Интерактивный (автономный) SQL представляет собой непосредственный ввод команд пользователем. Интерактивный SQL используется в
- 12. 1.5. Основные понятия языка Оператор SQL состоит из набора лексем. Лексемы – это ключевые (зарезервированные) слова,
- 13. Операторы языка разбиты на категории в соответствии с их функциями: 1 язык определения данных (Data Definition
- 14. Язык определения данных DDL Язык определения данных используется для создания и изменения структуры базы данных и
- 15. Язык выполнения запросов DQL Язык выполнения запросов используется для различных выборок из данных и состоит из
- 16. Язык манипулирования данными DML Язык манипулирования данными используется для выполнения действий над данными. Включает команды INSERT
- 17. Язык управления курсором CCL Язык управления курсором включает команды, оперирующие курсором. Под курсором понимают данные результатов
- 18. Язык управления транзакциями TPL Язык управления транзакциями объединяет команды DML в группы (транзакции). Состоит из команд:
- 19. Язык управления данными DCL Язык управления данными используется для управления правами доступа к данным и выполнения
- 20. 1.6. Типы данных, доступные в SQL Куликова Елена Васильевна
- 21. 1.6. Типы данных, доступные в SQL Куликова Елена Васильевна
- 22. 1.6. Типы данных, доступные в SQL Куликова Елена Васильевна
- 23. 1.7. Предикаты В условиях отбора записей используют различные конструкции языка – предикаты: Операторы сравнения (>, Оператор
- 24. 2. ЗАПРОСЫ SQL Запрос на языке SQL состоит из одного или нескольких операторов, следующих один за
- 25. Операторы Наиболее важные операторы, которые входят в стандарт ANSI/ISO SQL: Куликова Елена Васильевна
- 26. 2.1. Оператор SELECT Куликова Елена Васильевна
- 27. База данных «Успеваемость» для рассмотрения примеров. Куликова Елена Васильевна
- 28. База данных «Успеваемость» для рассмотрения примеров. Куликова Елена Васильевна
- 29. База данных «Успеваемость» для рассмотрения примеров. Куликова Елена Васильевна
- 30. База данных «Успеваемость» (MS SQL Server) Куликова Елена Васильевна
- 31. Если появляется сообщение об ошибке при попытке сохранения таблицы… Куликова Елена Васильевна
- 32. База данных «Успеваемость» (MS SQL Server) Создание диаграммы (схемы данных) Куликова Елена Васильевна
- 33. База данных «Успеваемость» (MS SQL Server) Создание диаграммы (схемы данных) Куликова Елена Васильевна
- 34. База данных «Успеваемость» (MS SQL Server) Создание связей Куликова Елена Васильевна
- 35. База данных «Успеваемость» (MS SQL Server) Заполнение данными Куликова Елена Васильевна
- 36. 1. Операция выборки Операция выборки позволяет получить все строки (записи) либо часть строк одной таблицы. Каждая
- 37. 1. Операция выборки Пример 1.1: показать все записи из таблицы «Студент». SELECT * FROM Студент; Знак
- 38. 1. Операция выборки Пример 1.2: показать записи о студентах из таблицы «Студент», у которых внесенная оплата
- 39. 2. Операция проекции Операция проекции позволяет выделить подмножество столбцов таблицы. Требуемые поля перечисляются после SELECT. Куликова
- 40. 2. Операция проекции Пример 2.1: показать записи из таблицы «Студент» (Фамилия, Номер группы, Внесенная оплата за
- 41. Комбинация выборки и проекции: выделение подмножества столбцов и строк таблицы Пример 2.2: показать записи из таблицы
- 42. 3. Операция объединения Операция объединения позволяет объединять результаты отдельных запросов по нескольким таблицам в единую результирующую
- 43. 3. Операция объединения Пример 3.1: показать коды всех студентов группы БП-115 и студентов, сдавших дисциплину «Информатика
- 44. 4. Вычисления Вычисления можно проводить над каждою записью таблицы. Заголовок вычисляемого столбца подставляется после ключевого слова
- 45. 4. Вычисления Пример 4.1: показать все записи таблицы Студент (Фамилия, Номер группы, Внесенная оплата за обучение),
- 46. 5. Литералы Для придания большей наглядности получаемому результату можно использовать литералы. Литералы в данном случае представляют
- 47. 5. Литералы Пример 5.1: для предыдущего запроса можно для каждой записи добавить текст 45000-внесенная оплата= SELECT
- 48. 6. Соединение строк Имеется возможность соединять два или более столбца, имеющих строковый тип, друг с другом,
- 49. 6. Соединение строк Пример 6.1: вывести список студентов, объединив фамилию, имя, отчество в один столбец. SELECT
- 50. 7. Операции сравнения Реляционные операторы могут использоваться с различными элементами. При этом важно соблюдать следующее правило:
- 51. 7. Операции сравнения Операторы, применяемые в построении комплексных запросов: Куликова Елена Васильевна
- 52. 7. Операции сравнения Пример 7.1: вывести список студентов (Фамилия, Имя, Номер группы) кроме студентов группы БП-113:
- 53. 8. Предикат BETWEEN Предикат BETWEEN задает диапазон значений, для которого выражение принимает значение true. Куликова Елена
- 54. 8. Предикат BETWEEN Пример 8.1: вывести список студентов (Фамилия, Имя), оплативших обучение в размере 10000-20000 рублей:
- 55. 9. Предикат IN Предикат IN проверяет, входит ли заданное значение в указанный в скобках список. Если
- 56. 9. Предикат IN Пример 9.1: вывести данные о преподавателях Волков, Петров, Иванова: SELECT * FROM Преподаватель
- 57. 10. Предикат LIKE Предикат LIKE используется только с символьными данными. Он проверяет, соответствует ли данное символьное
- 58. 10. Предикат LIKE Пример 10.1: вывести данные о студентах с фамилией на букву С: SELECT *
- 59. 11. Поиск пустых значений В SQL-запросах NULL означает, что значение столбца неизвестно. Предикат IS NULL принимает
- 60. 12. Логические операции К логическим относят операторы AND, OR, NOT, позволяющие выполнять различные логические действия. Использование
- 61. 12. Логические операции Пример 12.1: вывести данные о студентах из группы БП-115 с оплатой выше 10000
- 62. 12. Логические операции Пример 12.2: вывести данные о студентах с оплатой равной 45000 рублей, кроме студентов
- 63. 12. Логические операции: порядок выполнения В одном предикате логические операторы выполняются в следующем порядке: сначала выполняется
- 64. 13. Сортировка Порядок выводимых строк может быть изменен с помощью предложения ORDER BY в конце SQL-запроса.
- 65. 13. Сортировка Пример 13.1: выдать информацию о студентах с внесенной оплатой за обучение по убыванию. SELECT
- 66. 13. Сортировка Столбец, определяющий порядок вывода строк, не обязательно должен присутствовать в списке выбираемых элементов (столбцов).
- 67. 13. Сортировка Допускается использование нескольких уровней вложенности при упорядочивании выводимой информации по столбцам, при этом разрешается
- 68. 13. Сортировка Сортировка по полю типа DATETIME. Использование в сортировке функций MONTH, DAY, YEAR Тип DATETIME
- 69. 13. Сортировка Сортировка по полю типа DATETIME. Использование в сортировке функций MONTH, DAY, YEAR Тип DATETIME
- 70. 14. Исключение дубликатов Для устранения всех повторов строк из результирующего набора служит модификатор DISTINCT. Данный модификатор
- 71. 14. Исключение дубликатов Пример 14.1: вывести коды студентов, имеющих оценки (т.е. студентов, коды которых имеются в
- 72. 15. Просмотр части данных Для отбора нескольких записей из результирующего набора служит модификатор TOP n или
- 73. 15. Просмотр части данных Пример 15.1: показать первые 5 записей студентов (Дата рождения, Фамилия) – самых
- 74. 2.2. Групповые операции в запросах Использование баз данных на практике ориентировано, прежде всего, на получение итоговых
- 75. Функции агрегирования Чаще всего такие функции применяются вместе с группировкой. Куликова Елена Васильевна
- 76. Функции агрегирования Пример F1: найти количество студентов, обучающихся в группе БП-113. SELECT COUNT(*) AS Количество FROM
- 77. Функции агрегирования Пример F3: найти количество студентов, оплативших обучение в размере 45000; найти общую сумму оплат.
- 78. Групповые операции. Предложение GROUP BY Операция группировки объединяет записи с одинаковыми значениями в указанном списке полей
- 79. Предложение GROUP BY. Синтаксис SELECT список_полей FROM таблица WHERE условие_отбора GROUP BY группируемые_поля; где группируемые_поля -
- 80. Предложение GROUP BY Пример G1: изменим запрос F4: определить максимальную и минимальную суммы оплат за обучение
- 81. Примеры математических функций, которые используются в стандартном SQL Куликова Елена Васильевна
- 82. Предложение GROUP BY Пример G2: найти средний балл по каждой дисциплине, округлить результат до одного знака
- 83. Предложение GROUP BY Пример G3: вывести количество сдач/пересдач студентом зачета (экзамена) по каждой дисциплине. SELECT [Код
- 84. Предложение HAVING Определяет, какие сгруппированные записи отображаются при использовании инструкции SELECT с предложением GROUP BY. После
- 85. Предложение HAVING, синтаксис SELECT список_полей FROM таблица WHERE условие_отбора GROUP BY группируемые_поля HAVING условие_отбора_групп; где условие_отбора_групп
- 86. Предложение HAVING Пример H1: вывести список студентов (код студента, средний балл), средний балл которых выше 3,5
- 87. 2.3. Запросы с несколькими таблицами (соединение таблиц) Операция соединения используется в языке SQL для вывода связанной
- 88. Виды связей Внутренние Внешние Рекурсивные По отношению Все виды, кроме внешнего, можно задавать в предложении WHERE
- 89. Особенности связей Связывание производится, как правило, по первичному ключу одной таблицы и внешнему ключу другой таблицы
- 90. 1. Внутреннее соединение с помощью WHERE Внутреннее соединение возвращает только те строки, для которых условие соединения
- 91. 1. Внутреннее соединение с помощью WHERE. Алиасы В вышеприведенном запросе использовался способ непосредственного указания таблиц с
- 92. 1. Внутреннее соединение с помощью WHERE. Алиасы Пример W2: рассмотрим вышеприведенный пример с использованием алиасов X
- 93. 2. Внутреннее соединение с помощью INNER JOIN INNER JOIN объединяет записи из двух таблиц, если связующие
- 94. 2. Внутреннее соединение с помощью INNER JOIN. Синтаксис FROM таблица1 INNER JOIN таблица2 ON таблица1.поле1 оператор_сравнения
- 95. 2. Внутреннее соединение с помощью INNER JOIN Пример I1: показать названия дисциплин и фамилии ведущих преподавателей.
- 96. 2. Внутреннее соединение с помощью INNER JOIN Пример I2: вывести список студентов, дисциплины (по кодам) и
- 97. 3. Внутреннее соединение (INNER JOIN) с условиями отбора Пример I3: вывести список студентов и полученные оценки
- 98. 4. Косвенные соединения (INNER JOIN) С помощью внутренних соединений организуются косвенные соединения, когда в запросе указываются
- 99. 4. Косвенные соединения (INNER JOIN) Изменение структуры таблицы Дисциплина: добавлено поле Цикл: Куликова Елена Васильевна
- 100. 4. Косвенные соединения (INNER JOIN) Пример I8 (объединение 3-х таблиц): вывести список студентов (Фамилии), дисциплины (Название,
- 101. 4. Косвенные соединения (INNER JOIN) Пример I9 (объединение 4-х таблиц): SELECT Студент.Фамилия, Студент.[Номер группы], Дисциплина.[Название дисциплины],
- 102. 5. Соединение таблиц с группировкой записей Группировка выполняется в предложении GROUP BY в конце запроса. Таблица
- 103. 5. Соединение таблиц с группировкой записей Пример IG1: вывести информацию о студентах (Фамилия, Имя, Номер группы,
- 104. 6. Внешнее соединение Внешнее соединение возвращает все строки из одной таблицы и только те строки из
- 105. 6. Внешнее соединение, виды Существуют два вида внешнего соединения: LEFT JOIN RIGHT JOIN В левом соединении
- 106. 6. Внешнее соединение, синтаксис FROM таблица1 [ LEFT|RIGHT ] JOIN таблица2 ON таблица1.поле1 оператор_сравнения таблица2.поле2 Куликова
- 107. 6. Внешнее соединение, синтаксис Пример LR1 (внешнее соединение): Вывести список всех преподавателей (Фамилия, Имя). Для тех
- 108. 6. Внешнее соединение Пример LR1 (внешнее соединение): Вывести список всех преподавателей (Фамилия, Имя). Для тех преподавателей,
- 109. 6. Внешнее соединение Пример LR2 (внешнее соединение): если данном запросе использовать RIGHT JOIN? FROM Преподаватель RIGHT
- 110. 6. Внешнее соединение Пример LR2 (внешнее соединение): если данном запросе использовать RIGHT JOIN? Будут выведены все
- 111. 7. Соединение по отношению Соединение по отношению (тета-соединение) представляет собой способ соединения по любому отношению, кроме
- 112. 7. Соединение по отношению Добавление таблицы: Оплата Куликова Елена Васильевна
- 113. 7. Соединение по отношению Добавление таблицы: Оплата Куликова Елена Васильевна
- 114. 7. Соединение по отношению Пример T1(тета-соединение): вывести тех студентов (Фамилия, Имя, Внесенная оплата за обучение, Сумма
- 115. 8. Рекурсивные соединения В некоторых задачах необходимо получить информацию, выбранную особым образом только из одной таблицы.
- 116. 8. Рекурсивные соединения Пример R1: вывести студентов (Фамилия, Дата рождения) с одинаковыми датами рождения. SELECT X.Фамилия,
- 117. 8. Рекурсивные соединения Пример R1: Почему оператор WHERE X.Фамилия Пример R1: Если ? WHERE X.Фамилия Y.Фамилия
- 118. 2.4. Использование подзапросов (подчиненные запросы) Подзапросы – это запросы, которые предназначены для обработки внутри другого запроса.
- 119. Типы подзапросов Существует три типа подзапросов: Связанный подзапрос возвращает значение, выбираемое из пересечения одного столбца с
- 120. Действия Подчиненные запросы используются для выполнения следующих действий: проверка в подчиненном запросе существования некоторых результатов (с
- 121. Использование подзапросов: синтаксис SELECT … WHERE выражение сравнение {ALL | ANY | SOME} (подзапрос) Подзапрос всегда
- 122. Ограничения Не допускается использование инструкции SELECT подчиненного запроса в запросе на объединение или в перекрестном запросе.
- 123. Необоснованное применение подзапроса Пример. Показать названия дисциплин, которые ведутся преподавателем Волковым. С подзапросом: SELECT [Название дисциплины]
- 124. Использование подзапросов Пример P1: вывести студентов (Фамилия, Имя, Номер группы), которые внесли оплату за обучение больше
- 125. Использование подзапросов Пример P2: вывести студентов (Фамилия, Имя, Номер группы) у которых отсутствуют оценки. (следовательно, о
- 126. Использование подзапросов Пример P3: вывести студентов (Фамилия, Имя, Номер группы) у которых есть хотя бы одна
- 127. Изменение структуры базы данных Куликова Елена Васильевна
- 128. Использование подзапросов Пример P4: вывести преподавателей (Фамилия, Имя, Отчество) со стажем работы более 10 лет SELECT
- 129. Использование подзапросов Куликова Елена Васильевна
- 130. 2.5. Запросы на модификацию данных Три основных оператора манипулирования данными: INSERT (вставка) UPDATE (обновление) DELETE (удаление)
- 131. 1. Запросы на вставку данных в таблицы Оператор INSERT INTO Синтаксис: INSERT INTO ( , ,...)
- 132. 1. Запросы на вставку данных в таблицы Пример INS1: вставить запись о студенте (Код студента, Фамилия,
- 133. 1. Запросы на вставку данных в таблицы Если необходимо вставить данные по полю с типом данных
- 134. 1. Запросы на вставку данных в таблицы Есть второй вариант команды вставки, который позволяет вводить записи
- 135. 2. Запросы на изменение данных в таблицах Оператор UPDATE (используется для модификации записей, которые уже есть
- 136. 2. Запросы на изменение данных в таблицах Пример UP1: У студента Фукс Ивана Ивановича сменить фамилию
- 137. 2. Запросы на изменение данных в таблицах Пример UP2: изменить внесенную оплату за обучение у студентов
- 138. 3. Запросы на удаление записей из таблицы Оператор DELETE Синтаксис: DELETE FROM [WHERE ]; Если условие
- 139. Изменение структуры таблицы Преподаватель Куликова Елена Васильевна
- 140. 3. Запросы на удаление записей из таблицы Пример D1: удалить запись об уволенном преподавателе (Петрове) DELETE
- 141. 3. Запросы на удаление записей из таблицы Пример D2: удалить запись о студентах, которые будут отчислены
- 142. 2.6. Перекрестные запросы Перекрестные запросы относятся к статистическим запросам, когда значения в строках таблицы становятся заголовками
- 143. 2.6. Перекрестные запросы, синтаксис TRANSFORM статФункция ИнструкцияSelect PIVOT поле [IN (значение_1[, значение_2[, ...]])] Описание параметров: статФункция.
- 144. 2.6. Перекрестные запросы, синтаксис В перекрестном запросе в инструкции SELECT, перечисляются поля, являющиеся заголовками строк. В
- 145. 2.6. Перекрестные запросы Пример TR1: вывести для каждого студента средний балл по каждой дисциплине , представив
- 146. 2.6. Перекрестные запросы Пример TR2: вывести для каждого студента средний балл по каждой дисциплине , представив
- 147. 3. СОЗДАНИЕ БД на SQL. Язык описания данных (Data Definition Language, DDL) Куликова Елена Васильевна
- 148. 3.1. Запросы на создание таблиц базы данных Синтаксис: CREATE TABLE ( [описание /ограничения столбца],...,[ограничения таблицы]) Тип
- 149. Типы данных Куликова Елена Васильевна
- 150. Ограничения таблицы Описание каждого поля может включать следующие конструкции: DEFAULT – конструкция, определяющая значение поля по
- 151. 3.1. Запросы на создание таблиц базы данных Пример CrT1: создать таблицу Должность, содержащую поля: Код должности
- 152. 3.1. Запросы на создание таблиц базы данных Пример CrT2: создать таблицу Должность, содержащую поля: Код должности
- 153. 3.1. Запросы на создание таблиц базы данных Пример CrT3: создать таблицу Сотрудник (КодСотрудника , Фамилия ,
- 154. 3.1. Запросы на создание таблиц базы данных Пример CrT3 (измененный): создать таблицу Сотрудник (КодСотрудника , Фамилия
- 155. 3.2. Запросы на удаление таблиц базы данных Синтаксис: DROP TABLE ; Куликова Елена Васильевна
- 156. 3.2. Запросы на удаление таблиц базы данных Пример DR1: удалить таблицу Должность DROP TABLE Должность; Удаление
- 157. 3.3. Запросы на модификацию таблиц Оператор ALTER TABLE позволяет модифицировать все то, что указывается при выполнении
- 158. 3.3. Запросы на модификацию таблиц Пример AT1: добавить в таблицу Преподаватель поля Адрес (текстовый, 100 символов),
- 159. 3.3. Запросы на модификацию таблиц Пример AT3: удалить из таблицы Преподаватель поле Email ALTER TABLE Преподаватель
- 160. 3.3. Запросы на модификацию таблиц Пример AT4: создать ограничение поля Фамилия таблицы Преподаватель (ограничение: обязательное поле)
- 161. 3.3. Запросы на модификацию таблиц Пример AT5: создать ограничение поля Код должности таблицы Должность (ограничение: Primary
- 162. 3.3. Запросы на модификацию таблиц Пример AT6: создать связь таблиц Должность и Преподаватель по полю Код
- 164. Скачать презентацию