Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции СУБД.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
6.32 Mб
Скачать

9.5.Вычисляемые столбцы

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

При выполнении следующего запроса получим простой вычисляемый столбец:

Выдать строки сотрудников с указанием зарплаты с 10 % надбавкой

select fname, lname, position, (salary + 0.1*salary) as percent

from staff;

При выполнении этого запроса для каждой строки таблицы staff создается одна строка результатов. Значения первых двух столбцов результатов запроса извлекаются непосредственно из таблицы. Третий столбец для каждой строки результатов запроса вычисляется на основании значений столбцов текущей строки таблицы staff.

9.6.Выборка всех столбцов

Иногда требуется получить содержимое всех столбцов таблицы. На практике такая ситуация может возникнуть, когда вы впервые сталкиваетесь с новой базой данных и необходимо быстро получить представление о ее структуре и хранимых в ней данных. С учетом этого в SQL разрешается использовать вместо списка возвращаемых столбцов символ *, который означает, что требуется извлечь все столбцы:

select * from staff;

9.7.Повторяющиеся строки

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

Определить в каких городах существуют отделения предприятия

select city

from branch;

Если в одном и том же городе существует несколько отделений, название этого города будет повторяться в результирующей таблице.

Повторяющиеся строки из таблицы результатов запроса можно удалить, если в инструкции перед списком возвращаемых столбцов указать предикат DISTINCT.

9.8.Отбор строк (предложение where)

SQL-запросы, извлекающие из таблицы все строки, полезны при просмотре базы данных и создании отчетов, однако редко применяются для чего-нибудь еще. Обычно требуется выбрать из таблицы несколько строк и включить в результаты запроса только их. Чтобы указать, какие строки нужно отобрать, следует воспользоваться предложением WHERE.

Предложение WHERE состоит из ключевого слова WHERE, за которым следует условие отбора, определяющее, какие именно строки требуется извлечь. Если условие отбора имеет значение TRUE, строка будет включена в результаты запроса. Если же оно имеет значение FALSE или NULL, то строка исключается из результатов запроса.

В SQL обычно используются пять основных условий отбора (в стандарте ANSI/ISO они называются предикатами)

- сравнение

- проверка на принадлежность диапазону

- проверка на членство в множестве

- проверка на соответствие шаблону

- проверка на равенство значению NULL.