Основы программирования в СУБД Oracle. SQL+PL/SQL. - страница 18

Шрифт
Интервал




Если в предложении WHERE скобки поставить так, как это показано в примере 2.11, то запрос будет иметь совсем другой смысл.


Пример 2.11. Вывод данных о договорах сотрудника 155, заключенных 15.03.2018, или обо всех договорах, заключенных 02.11.219


SELECT * FROM Orders

WHERE (salesman_id = 155) AND (order_date = ′ 15.03.2018 ′)

OR (order_date = ′ 02.11.2019 ′);



Специальные операторы


Для формирования условий выбора можно использовать специальные операторы, представленные в таблице 2.1.


Таблица 2.1. Специальные операторы



Рассмотрим примеры запросов, использующих специальные операторы.


Оператор LIKE


Оператор LIKE используется для работы со строками. Он проверяет, совпадает ли часть строки с заданным шаблоном. Для создания шаблонов в операторе LIKE используются следующие символы:

– символ подчеркивания _ обозначает один символ;

– символ процента % обозначает несколько символов.

Синтаксис:


{имя столбца} LIKE ′ шаблон ′


Пример 2.12. Вывод данных о сотрудниках, имена которых начинаются на букву L


SELECT employee_id, first_name, last_name, department_id

FROM Employees

WHERE first_name LIKE ′ L% ′;


Пример 2.13. Вывод имен сотрудников, вторым символом которых является буква а


SELECT DISTINCT first_name

FROM Employees

WHERE first_name LIKE ′ _a% ′;


Пример 2.14. Вывод имен сотрудников, которые состоят из четырех символов, начинаются на букву J и заканчиваются буквой n


SELECT DISTINCT first_name

FROM Employees

WHERE first_name LIKE ′ J__n ′;



Для поиска в строке символов _ и % при построении шаблона используется опция ESCAPE /. Символ, который в шаблоне будет располагаться после /, будет рассматриваться как символ поиска. Вместо символа / можно использовать и другие символы, например!.


Пример 2.15. Вывести имя и адрес клиентов, столбец address которых содержит символ /


SELECT c_name, address

FROM Customers

WHERE address LIKE ′ %//% ′ ESCAPE ′ / ′;

Оператор BETWEEN



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

Синтаксис:


{имя столбца} BETWEEN V_MIN AND V_MAX


V_MIN – нижняя граница диапазона;

V_MAX – верхняя граница диапазона

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