Шаг 2. SQL запрос с простым критерием отбора
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Простейшие запросы практически не применимы на практике, поскольку “вытаскивают” абсолютно все записи из указанной таблицы, а таковых может быть сотни тысяч. СУБД может просто отказаться выполнять такой запрос, да и оперативной памяти на машине клиента может элементарно не хватить. Что делать с результатами таких запросов, даже если они выполняются корректно, не всегда понятно, хотя, для некоторых форм отчета пойдет. Для того чтобы наложить ограничения на отбор нужных вам записей, в SQL используется ключевое слово WHERE. Приведенный ниже запрос отбирает только сотрудников со стажем работы менее 5 лет.

SELECT S_NAME, S_EXPERIENCE FROM D_STAFF WHERE S_EXPERIENCE < 5


Использование простого критерия отбора записей.

Шаг 3. SQL запрос с составным критерием отбора

Для чего нужны составные критерии отбора записей, объяснять, я думаю, не нужно. Для того же, для чего и запросы с простыми критериями. Условия объединяются с использованием логических операций конъюнкции и дизъюнкции (операторы “И” (AND) и “ИЛИ” (OR)), а группируются с помощью скобок. Следующий запрос вернет записи о сотрудниках со стажем менее 5 лет и с дополнительным ограничением на занимаемую ими должность.

SELECT S_NAME, S_EXPERIENCE, S_POSITION FROM D_STAFF WHERE D_STAFF.S_POSITION <10 OR D_STAFF.S_POSITION >20) AND D_STAFF.S_EXPERIENCE <5


Использование сложного критерия отбора записей.

Шаг 4. Оператор BETWEEN

Оператор BETWEEN упрощает синтаксис описания критериев, задающих интервал допустимых значений. Вместо приведенного ниже BETWEEN 3 AND 7 можно было бы написать D_STAFF.S_EXPERIENCE >=3 AND D_STAFF.S_EXPERIENCE <=7. Первый вариант способствует наглядности запроса – это раз, поиск на стороне СУБД может выполняться по отдельному алгоритму, специально оптимизированному для подобного вида ограничений – это два.

SELECT S_NAME, S_EXPERIENCE, S_POSITION FROM D_STAFF WHERE (D_STAFF.S_POSITION <10 OR D_STAFF.S_POSITION >20) AND D_STAFF.S_EXPERIENCE BETWEEN 3 AND 7


Использование оператора BETWEEN.

Шаг 5. Оператор LIKE

Этот замечательный оператор позволяет накладывать ограничения на значения текстовых полей с использованием шаблонов. Синтаксис пояснять не буду, думаю, что из примера и так все ясно. Осуществляем поиск сотрудников, с Ф.И.О. начинающегося на “С”, в середине должно встречаться “Вал” и заканчиваться все должно на “ич”. В некоторых СУБД ключевое слово LIKE можно также использовать со значениями даты и времени.

SELECT S_NAME FROM D_STAFF WHERE S_NAME LIKE 'С%' AND S_NAME LIKE '%Вал%' AND S_NAME LIKE '%ич'

или

SELECT S_NAME FROM D_STAFF WHERE S_NAME LIKE 'С%Вал%ич'


Использование оператора LIKE.

Дата: 2019-03-05, просмотров: 226.