Содержание
- 2. Стандарты SQL ANSI – Американский национальный институт стандартов, ISO – Международная организация стандартов Стандарт SQL1 был
- 3. Словарь SQL Два типа запросов: Возвращающий строки: SELECT SELECT список полей или * FROM список таблиц
- 4. Рассмотрим БД, которая моделирует сдачу сессии в некотором учебном заведении, Пусть она состоит из трех отношении
- 6. Типы данных Для указания даты используется знак # (в стандарте ANSI – апостроф, т.е. '2/17/94 13:00':
- 7. Примеры оператора LIKE (MS Access использует для указания любого символа знак *, ANSI SQL - %):
- 8. Asterisk ( * ) SELECT authorID, firstName, lastName FROM Authors WHERE lastName LIKE ‘D*’ Question mark
- 9. Оптимизация команды SELECT Не указывайте лишние столбцы в запросе Используйте не перечисление полей, а символ *
- 10. Команда INSERT INSERT INTO таблица (поле, поле) VALUES (значение, значение) Примеры: INSERT INTO authors (Name, Address,
- 11. Выбор внешнего соединения – левое или правое? Внешнее соединение используется для Выявления несовпадений в ключевых полях
- 12. Операторы GROUP BY и HAVING Используется для группировки записей Все поля, перечисляемые в части SELECT, должны
- 13. ПРАВИЛЬНО: SELECT dept_id, SUM(salary) FROM emp GROUP BY dept_id HAVING SUM(salary)>2500; Результат: DEPT_ID SUM(SALARY) --------- -----------
- 14. Наиболее полно преимущества ключевого слова IN проявляются во вложенных запросах. Предположим, нам нужно найти все издания,
- 15. Подзапросы Могут быть вложены в SELECT, FROM, WHERE, HAVING Полезны для сложной выборки данных, могут быть
- 16. ALL: Найти служащих, которые были приняты на работу раньше всех служащих в должности ‘Warehouse Manager’: SELECT
- 17. HAVING: Найти должность с самой низкой средней заработной платой: SELECT title, AVG(salary) FROM emp GROUP BY
- 18. Виды вложенных запросов Однострочные Многострочные Квантифицированные EXISTS, NOT EXISTS Cлужащие, у которых зарплата такая же, как
- 19. Отдельно по должности и по году SELECT id FROM emp WHERE title IN (SELECT title FROM
- 20. Извлечение данных Указание на обращение к таблицам БД может быть указано явно командой USE. Полям таблицы
- 21. Выбор товаров, цена которых или 10 или 18 Для исключения повторов в столбце используется ключ DISTINCT
- 22. Функции Для работы с датами используются функции извлечения года (YEAR), месяца (MONTH), дня (DAY)… Выбрать компании,
- 23. _ один любой символ; [-…] один символ из диапазона: Cравнение со строкой - оператор LIKE со
- 24. Товары, в названии которых есть комбинация букв “gu“, после которых не следует буква “a” Товары, в
- 25. Упорядочение записей, подсчет итогов Упорядочение записей по значению поля (полей) выполняется с помощью оператора ORDER BY.
- 26. Выборка первых N записей с помощью ключа TOP. Отсортировав записи можно выбрать наилучшую (наихудшую) выборку товаров.
- 27. Количество товара, цена которого менее 50 Подсчет статистики по столбцам - функции: Max, Min, SUM, AVG
- 28. При выполнении оператора SELECT результирующее отношение может иметь несколько записей с одинаковыми значениями всех полей. Чтобы
- 29. Для выполнить данный запрос, нужно дать команду: SELECT titles.title,titles.yearpub,publishers.publisher FROM titles,publishers WHERE titles.pub_id=publishers.pub_id; Пример, где одновременно
- 30. Соединение таблиц задается в секции FROM. Условия выборки задаются в конструкции WHERE (при группировке GROUP BY
- 31. Правое соединение – RIGHT JOIN, левое – LEFT JOIN, полное – FULL JOIN. SELECT dbo.Customers.CompanyName, dbo.Orders.ShippedDate
- 32. Для уникальных полей названия таблиц указывать не обязательно. Можно также использовать псевдонимы таблиц Таблицы Поставщики и
- 33. Покупатели, кому товар еще не доставлен (дата доставки – поле ShippedDate таблицы Orders (счета)). Авторы без
- 34. Подзапрос - запрос, вложенный во внешний оператор SELECT, INSERT, UPDATE, DELETE. Возвращает одно значение. Подзапросы могут
- 35. Количество элементов в поле Freight таблицы Orders для которых в поле ShipRegion нет пустых значений. SELECT
- 36. Найти сумму цен 5 дешевых товаров (создадим подзапрос, затем в основной запрос включим текст подзапроса): SELECT
- 37. Найти товары, цена за единицу которых больше, чем у продукта “Mishi Kobe Niku” (cоздадим подзапрос, затем
- 38. Ключевые слова ALL и ANY сравнивают скалярное значение с набором значений одного столбца. Ключ ALL применяется
- 39. Ключевое слово EXISTS проверяет наличие атрибута. Оператор WHERE внешнего запроса проверяет, существуют ли строки, соответствующие подзапросу.
- 40. Группировка строк Выбрать 100 категорий тех товаров из запроса Alphabetical list of products, у которых средняя
- 41. Дополнительную фильтрацию выполним с помощью выражения HAVING. SELECT CategoryName, AVG(UnitPrice) AS AVGPrice FROM dbo.[Alphabetical list of
- 42. Названия и цена продуктов, совпадающих по цене с товаром “Chai”. SELECT ProductName, UnitPrice FROM dbo.Products WHERE
- 43. SELECT TOP 3 dbo.Categories. CategoryName, dbo.Products.UnitsInStock FROM dbo.Products INNER JOIN dbo.Categories ON dbo.Products.CategoryID = dbo.Categories.CategoryID WHERE
- 44. Количество продуктов, в названии которых встречается слово ‘Sir’ SELECT COUNT(ProductName) AS Ехрr1 FROM dbo.Products WHERE (ProductName
- 45. Cреднее арифметическое 5-ти самых дорогих товаров. SELECT AVG(UnitPrice) AS Expr1 FROM dbo.Products WHERE (UnitPrice IN (SELECT
- 46. SELECT TOP 5 сотрудник.[Код кафедры], Count(сотрудник.ФИО) AS число_сотрудников FROM сотрудник GROUP BY сотрудник.[Код кафедры] ORDER BY
- 47. SELECT сотрудник.ФИО, сотрудник.оклад FROM сотрудник WHERE (((сотрудник.оклад) Not Between 1000 And 2000)); SELECT сотрудник.ФИО, сотрудник.оклад FROM
- 48. SELECT сотр.фирма, Count(сотр.сотр) AS аттест_сотр FROM сотр WHERE (EXISTS (SELECT DISTINCT сотр.фирма, сотр.сотр FROM сотр INNER
- 49. SELECT OrderID, SUM(Цена* Количество * (1.0 - скидка)) AS Сумма FROM Order Details GROUP BY OrderID
- 50. Не имеет значения порядок перечисления операндов в операторах команды SELECT Порядок таблиц в операторе FROM “…
- 51. SELECT CustomerID, COUNT(CustomerID) FROM Orders GROUP BY CustomerID HAVING CustomerID >= 'A' AND CustomerID SELECT CustomerID,
- 52. Операции над датами SELECT DATE, DATE-7, DATE+18 FROM dual; Результат: DATE DATE-7 DATE+18 -------- -------- --------
- 53. CREATE TABLE ( [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES [ ]] , ...) Для каждого
- 54. Создание БД publications (ПУБЛИКАЦИИ) из таблиц authors, publishers, titles, titleautors, wwwsites, wwwsiteauthors CREATE DATABASE publications; CREATE
- 55. Удаление таблицы: DROP TABLE Модификация таблицы: Добавить столбцы ALTER TABLE ADD ( [NOT NULL] [UNIQUE |
- 56. 4. Команды модификации данных. К этой группе относятся операторы добавления, изменения и удаления записей. Добавить новую
- 57. Модификация записей: UPDATE SET столбец>= ,...[WHERE ] Если условие не задано, UPDATE применяется ко всем записям.
- 59. Скачать презентацию