Запрос на языке SQL

Запрос на языке SQL. Как подчеркивалось ранее, SQL символизирует собой Структурированный Язык Запросов. Запросы - вероятно наиболее часто используемый аспект SQL. Фактически, для категории SQL пользователей, маловероятно чтобы кто-либо использовал этот язык для чего-то другого.

Итак Запрос - команда которую дается прикладной программе базы данных, и которая сообщает ей чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера или терминала хотя, в большинстве случаев, ее можно также послать принтеру, сохранить в файле как объект в памяти компьютера, или представить как вводную информацию для другой команды или процесса.

Одна из наиболее важных особенностей запросов SQL - это их способность определять связи между многочисленными таблицами и выводить информацию из них в терминах этих связей, всю внутри одной команды. Этот вид операции называется - объединением, которое является одним из видов операций в реляционных базах данных. Как установлено ранее, главное в реляционном подходе это связи которые можно создавать между позициями данных в таблицах. Используя обьединения, мы непосредственно связываем информацию с любым номером таблицы, и таким образом способны создавать связи между сравнимыми фрагментами данных.

При обьединении, таблицы представленые списком в предложении FROM запроса, отделяются запятыми. Предикат запроса может ссылаться к любому столбцу любой связанной таблицы и, следовательно, может использоваться для связи между ими. Язык допускает три типа синтаксических конструкций, начинающихся с ключевого слова SELECT спецификация курсора cursor specification, оператор выборки select statement и подзапрос subquery. Основой всех них является синтаксическая конструкция табличное выражение table expression. Семантика табличного выражения состоит в том, что на основе последовательного применения разделов from, where, group by и having из заданных в разделе from таблиц строится некоторая новая результирующая таблица, порядок следования строк которой не определен и среди строк которой могут находиться дубликаты т.е. в общем случае таблица-результат табличного выражения является мультимножеством строк. На самом деле именно структура табличного выражения наибольшим образом характеризует структуру запросов языка SQL 89. 1.4.4 Агрегатные функцииЗапросы могут производить обобщенное групповое значение полей точно также как и значение одного поля. Это делает с помощью агрегатых функций.

Агрегатные функции производят одиночное значение для всей группы таблицы.

Имеется список этих функций COUNT производит номера строк или не-NULL значения полей которые выбрал запрос.

SUM производит арифметическую сумму всех выбранных значений данного поля. AVG производит усреднение всех выбранных значений данного поля. MAX производит наибольшее из всех выбранных значений данного поля. MIN производит наименьшее из всех выбранных значений данного поля. 1.5