русс | укр

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

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

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

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


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

Агрегирование и группирование записей.


Дата добавления: 2013-12-23; просмотров: 901; Нарушение авторских прав


Элемент ORDER BYопределяет упорядочивание (сортировку) записей, по указанным полям. Можно указывать только поля, фигурирующие в списке отобранных (после слова SELECT), в том числе и вычисляемые. Для сортировки по убыванию значений поля нужно после имени поля указать ключевое слово DESC.

Lt;список имен полей> -имена тех полей таблицы, значения которых будут возвращены. Список должен включать хотя бы одно поле. Если в результирующий набор включаются все поля таблицы, то можно указать символ ‘*’.

Оператор выбора Select.

EXTRACT(<Элемент> FROM <Выражение>) – из выражения, содержащего значение даты и времени, извлекается значение, соответствующее указанному элементу: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.

Функции языка SQL.

Статистические:

AVG() –среднее значение,

MAX() – максимальное значение,

MIN() – минимальное значение,

SUM() – сумма,

COUNT() – количество значений,

COUNT(*) – количество ненулевых значений.

Функции работы со строками:

UPPER(Str) – преобразование символом строки Str к верхнему регистру,

LOWER(Str) - преобразование символом строки Str к нижнему регистру,

TRIM(Str) –удаление пробелов в начале и конце строки Str,

SUBSTRING(Str From n1 TO n2) –выделение из строки Str подстроки начиная с позиции n1 и заканчивая позицией n2.

CAST(<Expression> AS <Type>)- приведение выражения Expression к типу Type.

Функции декодирования даты и времени:

 


Оператор выбора Select – возвращает одно или множество значений указанных полей записей, удовлетворяющих указанному условию и упорядоченных по заданному критерию. Формат оператора:

SELECT <список имен полей>

FROM <таблица>
[WHERE <условие отбора> ]
[ORDER BY <список имен полей>];



где

<таблица> -та таблица базы данных, из которой осуществляется отбор, например, Tovar;

<условие отбора> - отбираются только те записи, в которых условие выполняется;

Например,

1) SELECT S_Fam, S_Birthday FROM Sotrudniki

Результирующий набор данных включает поля S_Fam и S_Birthday из таблицы Sotrudniki.

2) SELECT * FROM Sotrudniki

Будут выбраны все поля таблицы Sotrudniki

 

Для каждого имени поля можно указать псевдоним в виде

AS <псевдоним>

где

<псевдоним> - любой идентификатор, на который можно при необходимости сослаться.

Например,

1) SELECT S_fio AS Fam FROM Sotrudniki

2) SELECT S_fio AS Фамилия, S_birthday AS Дата_рождения

FROM Sotrudniki

В списке полей можно использовать не только сами поля, но и любые выражения с использованием арифметических операций +, -, *, /.

Например,

SELECT S_fio, 2005-EXTRACT (YEAR FROM S_Birthday)

AS Age FROM Sotrudniki

 

p

В выражениях для полей можно использовать строковые константы и операцию «||», которая означает сцепление строк.

Например,

SELECT 'Фамилия: ' || S_fio,

'год рожд.:' || CAST(EXTRACT (YEAR FROM

S_Birthday) AS CHAR(4)) FROM Sotrudniki

 

p

 

Условие отбора после WHERE отбирает только те записи, для которых заданное условие истинно. Условие может включать имена полей (кроме вычисляемых), константы, логические выражения, содержащие арифметические операции, логические операции и операции отношения:

= равно
> больше
>= больше или равно
< меньше
<= меньше или равно
!= или <> или не равно
Like наличие заданной последовательности символов
between … and диапазон значений
in соответствие элементу множества

 

Например,

SELECT * FROM Tovar WHERE Kol_vo<15 and Cena>4

p

Операция Like:

<поле> LIKE ‘<последовательность символов>’

- применяется к полям типа строка и возвращает True, если в строке встретился фрагмент, заданный в операции как <последовательность символов>.В начале последовательности и в ее конце может присутствовать символ % (любое количество любых символов).

Например,

SELECT * FROM Tovar WHERE Tovar Like 'Л%'

Операция between … and:

<поле> between <значение> and <значение>

- задает для указанного поля диапазон отбираемых значений.

Например,

SELECT * FROM Tovar WHERE Cena BETWEEN 20 and 50

Операция In:

<поле> in (<множество>)

- отбирает записи, в которых значение указанного поля является одним из элементов указанного множества.

Например,

1) SELECT * FROM Sotrudniki

WHERE S_fio IN ('Иванов И.И.','Инин И.И.')

 

2) SELECT * FROM Sotrudniki

WHERE Extract(YEAR FROM S_Birthday) IN (1976,1980)

 

Например,

1) SELECT Tovar, Kol_vo, Cena

FROM Tovar ORDER BY Tovar, Cena DESC

 

 

2) SELECT Tovar, Kol_vo, Cena, Kol_vo*Cena AS Стоимость

FROM Tovar ORDER BY Стоимость

 

p

 

После ключевого слова SELECT в оператор могут вставляться ключевые слова:

DISTINCT– в результирующий набор данных не включаются повторяющиеся записи, в которых совпадают значения полей указанных в списке оператора,

илиALL –означает включение всех записей.

Например,

SELECT DISTINCT Tovar FROM Tovar

- будет выдан список различных товаров, которые имеются в таблице.

Пример. Сортировка по вычисляемому полю. (Распечатка).


При формировании запроса можно использовать различные арифметические и логические операции для построения сложных запросов.

!! В SQL приоритет операций сравнения выше приоритета логических операций.

Оператор SELECT позволяет возвращать не только множество значений поля, но и некоторые совокупные характеристики. Эти характеристики подсчитываются по всем или нескольким указанным записям.

Например.

1) SELECT count(*) FROM Tovar

- подсчет общего количества всех записей в таблице Tovar.

2) SELECT count(*) FROM Tovar WHERE T_Cena>100

- подсчет количества товаров, цена которых больше 100.

3) SELECT min(extract(year FROM S_birthday)),

max(extract(year FROM S_birthday)),

avg(extract(year FROM S_birthday))

FROM Sotrudniki

- подсчет минимального, максимального и среднего года рождения

4) SELECT min(Kol_vo*Cena), max(Kol_vo*Cena)

FROM Tovar

- совокупные характеристики.

После слова SELECT могут записываться или поля (в том числе и вычисляемые), или совокупные характеристики. Для одновременного использования полей и совокупных характеристик нужно использовать группировку записей.

Группировка записей задается ключевым словом

GROUP BY <список имен полей>

где <список имен полей> - перечисляются все поля, входящие в список SELECT.

В случае группировки записей совокупные характеристики проводят вычисления не по всем записям таблицы, а по тем, которые соответствуют одинаковым значениям указанных полей.

Например,

SELECT Prim, count(*) Всего_товаров

FROM Tovar GROUP BY Prim

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

 

Примеры.

1. Написать запрос, который получает список студентов, обучающихся на 2-м курсе и выше.

2. Получить сведения о студентах, имеющих оценки только 4 и 5.

3. Получить сведения о студентах, не имеющих ни одной оценки 4 или 5.

 




<== предыдущая лекция | следующая лекция ==>
Основные сведения о языке SQL. | Вложенные запросы.


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


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

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

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


 


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

 
 

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

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