Иллюстрированный самоучитель по SQL для начинающих

Компоненты SQL

Выражения со значениями типа записи

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

('Джозеф Тайкосинер', 'заслуженный профессор в отставке', 1918)

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

Выражения со значениями типа коллекции

Значением выражения типа коллекции является массив.

Выражения со значениями типа ссылки

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

Предикаты

Предикаты – это используемые в SQL эквиваленты логических высказывании. Примером высказывания является следующее выражение:

"Ученик учится в выпускном классе".

В таблице, содержащей информацию об учениках, домен столбца CLASS (класс) может быть набором таких значений: SENIOR (выпускной), JUNIOR (предпоследний), SOPHOMORE (второй старший класс), FRESHMAN (первый старший класс) и NULL (неизвестен). Предикат CLASS = SENIOR можно использовать для отсева тех строк, для которых его значение ложно, оставляя, соответственно, только те строки, для которых значение этого предиката истинно. Иногда в какой – либо строке значение этого предиката не известно (т.е. представляет собой NULL). В таком случае строку можно отбросить или оставить в зависимости от конкретной ситуации.

CLASS = SENIOR – это пример предиката сравнения. В SQL имеется шесть операторов сравнения. В простом предикате сравнения используется только один из этих операторов. Предикаты сравнения и примеры их использования приведены в таблице 3.3.

Таблица 3.3. Операторы и предикаты сравнения.

Оператор Сравнение Выражение
= Равно CLASS = SENIOR
<> Не равно CLASS <> SENIOR
< Меньше CLASS < SENIOR
> Больше CLASS > SENIOR
<= Меньше или равно CLASS <= SENIOR
>= Больше или равно CLASS >= SENIOR

Внимание:
В последнем примере только первые два выражения имеют смысл (CLASS = SENIOR и CLASS <> SENIOR). Это объясняется тем, что SOPHOMORE считается больше, чем SENIOR, потому что в последовательности сопоставления, установленной по умолчанию (т.е. когда сортировка выполняется по алфавиту), SO следует после SE. Однако такая интерпретация, по всей вероятности, – не то, что вам нужно
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.