Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен (СУБД).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
183.3 Кб
Скачать

9. Предложение where и классификация условий отбора (привести примеры).

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

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

- сравнение(=, !=(не равно), <, >, <=, >=.)

Найти служащих с зарплатой меньше 300

select fname, lname

from staff

where salary< 300;

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

select fname, lname

from staff

where DOB between ’01-Oct-63’ and ’31-Dec-71’;

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

select address, tel_no

from branch

where city in (‘Минск’, ‘Витебск’, ‘Брест’);

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

select lname, address, tel_no

from staff

where lname like ‘K%’

Символ ‘%’ - замещает произвольную последовательность символов, а ‘_’ – замещает одиночный символ

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

10. Составные условия отбора. Влияние значений null на результат отбора.

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

Составить список всех сотрудников, работающих в Минском отделении.

select fname, lname, position, S.tel_no

from Branch B, Staff S

where B.bno=S.bno and city = ‘Минск’;

Определитель NULL  указывает, что значение атрибута в настоящий момент неизвестно.

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

11. Многотабличные запросы и их особенности (привести пример).

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

Составить список всех сотрудников, работающих в Минском отделении.

select fname, lname, position, S.tel_no

from Branch B, Staff S

where B.bno=S.bno and city = ‘Минск’;

SQL> select name,sn ,place from main1 b,ship c where b.wno=c.wno and place='China';

Вначале просматривается таблица ship и фильтруются строки где place = china

Внешний ключ табл main1 и первичный ключ табл ship должны совпадать

Как уже было отмечено выше, с увеличением количества таблиц в запросе резко возрастает объем работы, необходимой для выполнения запроса. Хотя ограничений на количество объединяемых таблиц нет, на практике высокие затраты на обработку многотабличных запросов во многих приложениях накладывают серьёзные ограничения на использование многотабличных запросов

В приложениях, предназначенных для оперативной обработки транзакций (OLTP), запрос обычно ссылается только на одну или две таблицы. В этих приложениях время ответа является критичной величиной, пользователь, как правило, вводит один или два элемента данных, и ему требуется получить ответ от базы данных в течение одной или двух секунд.

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