Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
97
Добавлен:
26.04.2015
Размер:
766.46 Кб
Скачать

9.2.6. Программный sql

DECLARE – определяет курсор.

Курсор - некоторое имя и связанный с ним запрос к БД, а также соответствующий виртуальный набор данных. Курсор:

Имя (набор символов)

Запрос

Представление

OPEN – открывает курсор.

Занесение в виртуальный набор данных, которые соответствуют описанию курсора и соответствуют текущему состоянию БД.

CLOSE – закрывает курсор.

9.3. Типы данных в sql

сhar (n) - строка из n символов.

NUMERIC (m, n) - числа, с фиксированным положением десятичной точки.

m - общее количество знаков.

n - количество знаков после точки.

INTEGER - целое число длиной 4 байта.

SМALLINT - целые числа длиной 2 байта.

FLOAT (n) - числа с плавающей точкой, n-размер числа в байтах.

BIT (n) - двоичное число длиной n разрядов.

DATE - календарная дата.

TIMESTAMP - дата и время.

INTERVAL - временной интервал.

MEMO - позволяет заносить большие объемы текстовой информации.

MONEY -может иметь только сотые доли.

9.4. Агрегатные функции

Позволяют выполнить вычисления обобщенных групповых значений. Таких функций в SQL пять:

1) COUNT - выдаёт количество непустых значений или строку, которую выдал запрос.

2) SUM - применяется только к числовым атрибутам и выдаёт сумму всех выбранных значений данного поля.

3) AVG - вычисляет среднеарифметические значения данного поля.

4) MIN - вычисляет минимальное значение указанного поля.

5) MAX - вычисляет максимальное значение указанного поля.

Лекция 10. Язык SQL. Часть 2.

    1. Оператор SELECT.

    2. Составляющие оператора Select.

    3. Вложенные запросы.

10.1. Оператор выбора SELECT

Все запросы пользователей реализуются с помощью оператора SELECT.

Структура оператора:

SELECT [ALL/DISTINСТ] <смысл полей> (| или *) FROM<список таблиц>

[WHERE<предикат - условия выборки или соединения>]

[GROUP BY<список полей результата>]

[HAVING<предикат - для группировки>]

[ORDER BY<список полей упорядочивания>]

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

* - в результирующий набор включаются значения всех атрибутов исходных отношений.

10.2. Составляющие оператора:

10.2.1. SELECT - ключевое слово начала запроса.

ALL - означает, что в результирующий набор включаются все кортежи, удовлетворяющие условию запроса.

DISTING - в результирующий набор включаются только разные кортежи.

<список полей> (| или *) - либо мы можем указать список полей, которые должны быть в результирующей таблице, либо все атрибуты отношений удовлетворяют запросу.

10.2.2. FROM - является обязательным, задаёт перечень исходных отношений запроса.

10.2.3. WHERE - содержит условия отбора кортежей или условия соединения кортежей, задается с помощью предиката.

Предикат - это выражение с неопределенными переменными; если этим переменным придать конкретные значения, то предикат принимает значение "истина" или "ложь". С помощью предиката мы задаем условия выборки, например,

Если а = в то: а = 3, в = 3 – истина, а = 3, в = 4 – ложь.

В этом разделе могут быть использованы шесть групп предикатов:

1) предикат сравнения (>,<,<=,>=):

оценка = "отлично".

2) Between A and B - предикат-диапазон, принимает значения "истина", когда сравнимое значение попадает в сравниваемый диапазон, включает границы диапазона:

Года рождения: Between 1980 and 1990.

3) Предикат отношения к множеству:

3.1) In (множество) - предикат вхождения во множество:

Оценка IN ("отлично", "хорошо").

Истина - если атрибут принимает значение "отлично" или "хорошо".

3.2) NOT IN (множество) - предикат непопадания во множество.

4) IS NULL - предикат сравнения с неопределенным значением. Истина - если значение атрибута не определено.

4.1) логическое сложение:

NOT NULL = NULL;

TRUE U NULL = TRUE;

NULL U NULL = NULL.

4.2) логическое умножение:

TRUE ∩ NULL = NULL.

5) предикат сравнения с образцами:

5.1) LIKE (образец)

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

5.2) NOT LIKE (образец)

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

6) EXIST - предикат существования.

Итак, с помощью WHERE мы формируем выборку данных с большим набором условий.

10.2.3. GROUP BY - раздел задает список полей для группировки.

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

10.2.4. HAVING - раздел содержит предикат условий для каждой группы.

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

ORDER BY <"Фамилия">- кортежи "Фамилия" будут располагаться по алфавиту.

Соседние файлы в папке Подмога_БД_Величко