русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Вычисления внутри SELECT.


Дата добавления: 2015-07-09; просмотров: 1083; Нарушение авторских прав


 

SQL позволяет выполнять различные арифметические операции над столбцами результирующего отношения. В конструкции <список_выбора> можно использовать константы, функции и их комбинации с арифметическими операциями и скобками.

Например, чтобы узнать, сколько лет прошло с 1992 года (год принятия стандарта SQL-92) до публикации той или иной книги можно выполнить команду:

 

SELECT title, yearpub-1992 FROM titles WHERE yearpub > 1992;

 

В арифметических выражениях допускаются операции сложения (+), вычитания (-), деления (/), умножения (*), а также различные функции (COS, SIN, ABS – абсолютное значение и др.).

В SQL также определены агрегатные функции, которые выполняют действия над группой одинаковых записей. Среди них выделяют:

· AVG(<имя поля>) - среднее по всем значениям данного поля

· COUNT(<имя поля>) или COUNT (*) - число строк

· MAX(<имя поля>) - максимальное из всех значений данного поля

· MIN(<имя поля>) - минимальное из всех значений данного поля

· SUM(<имя поля>) - сумма всех значений данного поля

 

Следует учитывать, что каждая агрегирующая функция возвращает единственное значение.

 

Примеры:

определить дату публикации самой "древней" книги в базе данных

SELECT MIN(yearpub) FROM titles;

 

подсчитать количество книг в базе данных:

SELECT COUNT(*) FROM titles;

 

Область действия данных функции можно ограничить с помощью логического условия.

Например.

Найти количество книг, выпущенных после 2000 года:

SELECT COUNT(*) FROM titles WHERE yearpub > 2000;

 

При ограничении данных полученных в результате применения агрегатных функций нужно использовать параметр HEVING, выполняющий те же функции что и параметр WHERE, но только с вычисленными значениями. Кроме этого, как правило, на практике группировка данных для применения агрегатной функции некоторого атрибута производится относительно другого атрибута. В этом случае необходимо использовать параметр GROUP BY для группировки данных, относительно которых будет выполняться операция агрегатной функции.



Например:

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

 

SELECT title, COUNT(yearpub) AS Количество

FROM titles WHERE yearpub > 2000

GROUP BY title

HEVING COUNT(yearpub)>100000;

 

Если в запросе необходимо выполнить сортировку данных необходимо использовать параметр ORDER BY с указанием атрибута, по которому выполняется сортировка. Можно выполнять сортировку в двух направлениях: по возрастанию – параметр ASC (выполняется по умолчанию) и по убыванию – параметр DESC.

Например:

Реализовать предыдущий запрос и при этом отсортировать название книг в обратном алфавитном порядке.

 

SELECT title, COUNT(yearpub) AS Количество

FROM titles WHERE yearpub > 2000

GROUP BY title

HEVING COUNT(yearpub)>100000

ORDER BY title DESC;

 

 



<== предыдущая лекция | следующая лекция ==>
Выборка из нескольких таблиц | Задание к лабораторной работе


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.