Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по субд Крупская.doc
Скачиваний:
57
Добавлен:
15.06.2014
Размер:
2 Мб
Скачать
☆

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

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

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

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

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

selectfname, lname

from staff

wheresalary< 300;

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

select fname, lname

from staff

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

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

select address, tel_no

frombranch

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

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

select lname, address, tel_no

from staff

wherelnamelike‘K%’

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

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

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

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

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

select fname, lname, position, S.tel_no

fromBranch B, Staff S

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

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

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

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

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

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

select fname, lname, position, S.tel_no

fromBranch 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-приложений, в приложениях, предназначенных для поддержки, принятия решений, запрос, как правило, обращается ко многим таблицам и использует сложные отношения, существующие в базе данных. В этих приложениях результаты запроса часто нужны для принятия важных решений, поэтому вполне приемлемыми считаются запросы, которые выполняются несколько минут или в течение большего времени.