FROM Студент;

Переключение в режим SQL осуществляется командой

Вид \ Режим SQL.

Операция селекции.

Специальной операцией реляционной алгебры является операция селекции, или горизонтального выбора, или фильтрации, или ограничения отношений.

Пусть α — булевское выражение, составленное из термов сравнения с помощью связок И ( FROM Студент; - student2.ru ), ИЛИ ( FROM Студент; - student2.ru ), НЕ ( FROM Студент; - student2.ru ) и, возможно, скобок. В качестве термов сравнения допускаются:

а) терм А ос а,

где А — имя некоторого атрибута, принимающего значения из домена D; а — константа, взятая из того же домена D, a FROM Студент; - student2.ru D; ос — одна из допустимых для данного домена D операций сравнения;

б) терм А ос В,

где А, В — имена некоторых θ-сравнимых атрибутов, то есть атрибутов, принимающих значения из одного и то же домена D.

Тогда результатом операции селекции, заданной на отношении R в виде булевского выражения, определенного на атрибутах отношения R, называется отношение (R WHERE α), включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации:

R WHERE α(r) = {r | r FROM Студент; - student2.ru R FROM Студент; - student2.ru α (r) = "Истина"}

Для операции селекции задаются логические условия (критерии) отбора записей в поисковых полях.

Условия могут задаваться как выражения, построенные с помощью операторов различного вида:

Условия задаются в следующих вариантах:

· для одного поля;

· в одной строке для нескольких полей, считая все условия совместными;

· в разных строках для одного или разных полей, считая их альтернативными.

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

1. Точное совпадение задается вводом констант в соответствующих полях шаблона, как в случае запроса по должности доцент.

2. Частичное совпадение задается с помощью символов ? и *.

3. Условие сравнения записывается с помощью операций сравнения: равно (=), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=), не равно (< >)), не больше (not >), не меньше (not <).

Условия в запросе могут задаваться по одному или по нескольким столбцам. При этом условия в различных столбцах объединяются по условию И (AND).

Задание 2.

Получить фамилии преподавателей с должностью Доцент и датой поступления на работу в диапазоне 1.1.78 - 1.1.83.

На языке реляционной алгебры:

Запрос_2 = (Преподаватель WHERE ([Должн] ="Доцент") &
([Дата_преп]> 1.01.78) & ([Дата_преп] < 1.01.83))[Фам_преп]

Поскольку требуются только фамилии преподавателей, необходимо отношение, полученное в результате операции селекции, спроецировать на атрибут Фам_преп. То есть при выполнении этого запроса выполняются две операции: селекции и проекции.

На языке QBE операция селекции реализуется запросом на выборку:

Запрос_2

Поле Должн Фам_преп Дата_преп Дата_преп
Имя таблицы Преподаватель Преподаватель Преподаватель Преподаватель
Вывод на экран   ü    
Условие отбора   "Доцент"     >#1.1.78#   <#1.1.83#  

На языке SQL:

Наши рекомендации