Наша взаимовыгодная связь https://banwar.org/
Пошук по шаблонах і застосування регулярних виразів в запитах Oracle SQL
Завдання 1:
Напишіть запит, який би повертав інформацію про ім'я, прізвище та посаду (стовпець JOB _ID) для кожного співробітника на основі інформації з таблиці employees в в схемі hr. При цьому повинна повертатися інформація тільки для тих співробітників, які працюють в сфері продажів (найменування посади починається на SA) або які виконують роль менеджера (на посаді присутній поєднання MGR). Результат запиту повинен виглядати так, як представлено на рис. Лаб. 2.5-1.
Мал. 2.5-1
Завдання 2:
Напишіть запит, який повертав би інформацію про імені, прізвища, телефонний номер для кожного співробітника в таблиці hr .employees. При цьому повинна виводитися інформація тільки для тих співробітників, телефонний номер яких не відповідає масці XXX .XXX .XXXX, де X -будь число від 0 до 9. Результат виконання запиту повинен виглядати так, як представлено на рис. 2.5-2.
Мал. 2.5-2
Примітка.
У методичних матеріалах вище повний довідник по регулярних виразах не наводиться. Спробуйте знайти рішення самостійно, використовуючи книгу Application Developer's Guide - Fundamentals з офіційної документації Oracle. Якщо це не вдається, просто перегляньте відповідь.
Рішення для завдання 1:
Код відповідного запиту може виглядати так:
SELECT first_name AS "Ім'я", last_name As "Прізвище", job_id As "Посада" FROM hr.employees WHERE JOB_ID LIKE 'SA%' OR JOB_ID LIKE '% MGR%'
Рішення для завдання 2:
Код відповідного запиту може виглядати так:
SELECT first_name AS "Ім'я", last_name As "Прізвище", PHONE_NUMBER As "Телефон" FROM hr.employees WHERE NOT REGEXP_LIKE (PHONE_NUMBER, '\ d {3} \. \ D {3} \. \ D {4}')