Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

SELECT Name

Name

FROM Personnel

SELECT Name

Name

FROM Personnel

SELECT Name

Between — проверка на вхождение в диапазон

In — проверка на вхождение

Is null — проверка на нулевое значение

Like — сравнение по шаблону

Сравнение

Простое условие отбора записей

FROM Personnel, Info

SELECT Name, I_Code

 

Имена полей Name и l_Code уникальны для таблиц Personnel и Info, поэтому имена таблиц в обозначении полей можно опустить.

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

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

= — равно • <= — меньше или равно

> — больше • <> или! = — не равно

< — меньше •! > — не больше

>= — больше или равно •! < — не меньше

В простом критерии отбора используется одна операция. Для операций сравне­ния и сравнения по шаблону критерий отбора имеет следующий формат:

<Выражение1> «Операция сравнения> <Выражение2>

Выражение состоит из имен полей, функций, констант, значений, знаков опе­раций и круглых скобок. В простейшем случае — из имени поля или значения. Например:

WHERE Salary >= 4000;

Этот оператор задает получение списка сотрудников, имеющих оклад не менее 4000 рублей:

Иванов P.O.

Петров А.П.

Семенова И.И.

Пример отбора записей по значениям символьного поля:

WHERE Position = 'Водитель';

В результате получим выборку с фамилиями водителей:

Попов А.Л.

Васин Н.Е.

Поля, входящие в набор данных, и поля, используемые в критерии отбора, мо­гут отличаться друг от друга. Так, в приведенном примере в наборе данных при­сутствует поле фамилии Name, в то время как в критерии отбора записей исполь­зуется поле оклада Salary.

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

WHERE UPPER(TRIM(Post)) = 'ВОДИТЕЛЬ'

 

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

Для сравнения строк вместо операций =,!= и <> можно использовать операцию like, выполняющую сравнение по частичному совпадению. Частичное совпадение значений целесообразно проверять, например, в случаях, когда известны только начальная часть фамилии или названия предмета. Вот образец соответст­вующего запроса:

<== предыдущая лекция | следующая лекция ==>
Select P. Name, I. I_code | FROM Cards
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 298; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.