3 №2 зертханалық жұмыс. Oracle экземпляры мен басқару. Басқару компоненті .
Тапсырма 1: employees кестесінендегі ақпараттар негізінде hr сұлбасындағы әрбір жұмысшы үшін аты,
фамилиясы және қызметі жайында ақпаратты қайтаратын сұраныс құрыңыз. Сонымен қатар
сату аумағында немесе менеджер рөлін атқарып жүрген жұмысшылар жайында ғана ақпарат
қайтарылуы тиіс. Сұраныс нәтижесі Лаб. 2.5-1.суретінде көрсетілгендей болуы тиіс.
2.5-1 сурет
Тапсырма 2: hr.employees кестесінде әрбір жұмысшыға аты, фамилиясы, телефон нөмірі жайында
ақпаратты қайтаратын сұраныс құрыңыз. Сонымен қатар телефон нөмірі XXX.XXX.XXXX
маскасына сәйкес келмейтін, X-ке келген 0-ден 9-ға дейінгі сан болатын жұмысшылар
жайында ақпарат қайтарылуы тиіс. Сұраныстың нәтижесі 2.5-2. суреттегідей болуы тиіс.
14
2.5-2 сурет
Қосымша. Application Developer's Guide - Fundamentals кітабынан шешімдерді өз бетіңізше тауып
көріңіз. Егер шешімін таба алмасаңыз жауабын көрсеңіз болады.
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}')
SQL-даенгізілген жазулардың шектелуі мен диапазондармен жұмыс жасау Тапсырма: hr.employees кестесінде әрбір жұмысшыға аты, фамилиясы, қызметі(JOB_ID баған) және
жұмысқа қабылданғын уақыты(HIRE_DATE баған) жайында ақпаратты қайтаратын сұраныс
құрыңыз. Сонымен қатар жұмысқа 1995 жылдан 1999 жылға дейінгі аралықта қабылданған
және қызметтері AD_PRES, AD_VP және AD_ASST болатын жұмысшылар жайында ғана
ақпараттар қайтарылуы керек. Енгізілу жазуын беспен шектеңіз. Бұл сұранысқа BETWEEN
және IN өрнегін қолданыңыз. Сұраныстың нәтижесі 2.6-1. суретте көрсетілгендей болуы
керек.
2.6-1 сурет
Шешуі: Сұраныстың сәйкес коды келесідей:
15
BETWEEN '01-JAN-95' AND '31-DEC-99')
OR JOB_ID IN ('AD_PRES', 'AD_VP', 'AD_ASST'))
AND ROWNUM < 6