Шпаргалка. шпоры. Информация это результат преобразования и анализа данных. Отличие информации от данных состоит в том, что данные это фиксированные сведения о событиях и явлениях,
Скачать 143.29 Kb.
|
28.SQL: запрос выборки данных, функции агрегирования AVG, SUM, MAX, MIN. SUM – возвращает сумму строк. Пример Кодим на SQL Получаем Ну вы поняли, просто находит сумму, ещё внизу можете условия задать, к примеру, складываем только числа, которые меньше 200. Итог: MAX – возвращает максимальное значение Пример тот же. Код: Результат Также можете поставить условие, как и в предыдущем пункте MIN – возвращает минимальное значение Пример тот же. Код: Результат AVG – возвращает среднее арифметическое (сумма делить на кол-во цифр в столбце) Пример тот же. Код: Результат | |||||||||||||||||||
30. Соединение таблиц. Оператор языка SQL JOIN предназначен для соединения двух или более таблиц базы данных по совпадающему условию.1) INNER JOIN (внутреннее соединение) Запрос с оператором INNER JOIN предназначен для соединения таблиц и вывода результирующей таблицы, в которой данные полностью пересекаются по условию, указанному после ON. 2) LEFT OUTER JOIN (левое внешнее соединение) Запрос с оператором LEFT OUTER JOIN предназначен для соединения таблиц и вывода результирующей таблицы, в которой данные полностью пересекаются по условию, указанному после ON, и дополняются записями из первой по порядку (левой) таблицы, даже если они не соответствуют условию. У записей левой таблицы, которые не соответствуют условию, значение столбца из правой таблицы будет NULL (неопределённым). 3) RIGHT OUTER JOIN (правое внешнее соединение) Запрос с оператором RIGHT OUTER JOIN предназначен для соединения таблиц и вывода результирующей таблицы, в которой данные полностью пересекаются по условию, указанному после ON, и дополняются записями из второй по порядку (правой) таблицы, даже если они не соответствуют условию. У записей правой таблицы, которые не соответствуют условию, значение столбца из левой таблицы будет NULL (неопределённым). 4) FULL OUTER JOIN (полное внешнее соединение) Запрос с оператором FULL OUTER JOIN предназначен для соединения таблиц и вывода результирующей таблицы, в которой данные полностью пересекаются по условию, указанному после ON, и дополняются записями из первой (левой) и второй (правой) таблиц, даже если они не соответствуют условию. У записей, которые не соответствуют условию, значение столбцов из другой таблицы будет NULL (неопределённым). 5) CROSS JOIN (перекрестное соединение) Использование оператора SQL CROSS JOIN в наиболее простой форме - без условия соединения - реализует операцию декартова произведения в реляционной алгебре. Результатом такого соединения будет сцепление каждой строки первой таблицы с каждой строкой второй таблицы. Таблицы могут быть записаны в запросе либо через оператор CROSS JOIN, либо через запятую между ними. | 31. Вложенные подзапросы. Подзапросы, внутренние или вложенные запросы - это запрос внутри запроса. Обычно, подзапрос используется в конструкции WHERE. И, в большинстве случаев, подзапросы SQL используется, когда вы можете получить значение с помощью запроса, но не знаете конкретного результата. Подзапросы альтернативный вариант получения данных из множества таблиц. Пример Продажи2018
Продажи2019
Select Продукт FROM Продажи2018 WHERE выручка IN (SELECT Продукт FROM Продажи2019 WHERE Продукт = ‘Телефоны’); IN – проверка на принадлежность результатам подзапроса 32. Связанные подзапросы. Оператор EXISTS. Связанные подзапросы. В SQL можно создавать подзапросы со ссылкой на таблицу из внешнего запроса. В этом случае подзапрос выполняется многократно, по одному разу для каждой строки таблицы из внешнего запроса. Поэтому важно, чтобы подзапрос использовал индекс. Подзапрос может обращаться к той же таблице, чтоб и внешний. Если внешний запрос возвращает относительно небольшое число строк, то связанный подзапрос будет работать быстрее несвязанного. Если подзапрос возвращает небольшое число строк, то связанный запрос выполнится медленнее несвязанного. SELECT * FROM SalesPeople Main WHERE 1<(SELECT COUNT(*) FROM Customer WHERE SNum=Main.SNum) //возвращает всех продавцов, обслуживших более одного покупателя Оператор EXISTS Ключевое слово EXISTS в SQL запросах обозначает существование хотя бы одно записи того или иного SQL запроса, для определения получения каких либо результирующих данных. Например не получать список городов если нет той или иной страны или результатов по какому либо другому SQL запросу. SELECT * FROM Customer WHERE EXISTS(SELECT * FROM Customer WHERE City=’San Jose’) – возвращает всех покупателей, если кто-то из них проживает в San Jose | 45. SQL: хранимые процедуры, область применения Нередко операция с данными представляет набор инструкций, которые необходимо выполнить в определенной последовательности. Например, при добавлении покупке товара необходимо внести данные в таблицу заказов. Однако перед этим надо проверить, а есть ли покупаемый товар в наличии. Возможно, при этом понадобится проверить еще ряд дополнительных условий. То есть фактически процесс покупки товара охватывает несколько действий, которые должны выполняться в определенной последовательности. И в этом случае более оптимально будет инкапсулировать все эти действия в один объект - хранимую процедуру (stored procedure). То есть по сути хранимые процедуры представляет набор инструкций, которые выполняются как единое целое. Тем самым хранимые процедуры позволяют упростить комплексные операции и вынести их в единый объект. Изменится процесс покупки товара, соответственно достаточно будет изменить код процедуры. То есть процедура также упрощает управление кодом. Также хранимые процедуры позволяют ограничить доступ к данным в таблицах и тем самым уменьшить вероятность преднамеренных или неосознанных нежелательных действий в отношении этих данных. И еще один важный аспект - производительность. Хранимые процедуры обычно выполняются быстрее, чем обычные SQL-инструкции. Все потому что код процедур компилируется один раз при первом ее запуске, а затем сохраняется в скомпилированной форме. Для создания хранимой процедуры применяется команда CREATE PROCEDURE или CREATE PROC. Таким образом, хранимая процедура имеет три ключевых особенности: упрощение кода, безопасность и производительность. | |