employees кестесі hr сұлбасынан максималды, минималды, орташа жалақысы жайында ақпаратты қайтаратын сұраныс құрыңыз. Сонымен қатар берілген ақпарат:
бастапқыда қызметі бойынша топталуы керек (job_id бағаны employees кестесінен);
содан кейін бөлім бойынша топталуы керек (department_name бағаны departments кестесі);
7000 үлкен немесе тең жалақысы бар қызмет топтары шығарылуы керек;
ақпарат бастапқыда бөлім бойынша, содан кейін қызметі бойынша сұрыпталуы керек.
Сұраныстың нәтижесі 5.3-1. суретте көрсетілгендей болуы керек.
Лаб. 5.3-1.сурет
Шешуі:
Сұраныстың сәйкес коды келесідей:
select departments.department_name AS "Бөлім", employees.job_id AS "Қызмет", max(employees.salary) As "Максималды жалақы ", min(employees.salary) As "Минималды жалақы ", To_Char(avg(employees.salary), '99999999.99') As "Средняя зарплата" from
(employees.salary) >= 7000
order by hr.departments.department_name, hr.employees.job_id
Oracle SQL да бір жолды ішкі сұраныстар
Тапсырма:
employees кестесі hr сұлбасынан сату бөлімінен орташа жалақыдан асатын жұмысшылардың аты, фамилиясы, жалақысы (departments кестесіндегі department_name бағанында Sales мәні) туралы ақпарат беретін сұраныс жазыңыз. Бұл мәселені ішкі сұраныс көмегімен шешу. Сұраныстың нәтижесі 6.1-1. суретте көрсетілгендей болуы керек.
Лаб. 6.1-1.сурет
Шешуі:
Сұраныстың сәйкес коды келесідей:
.department_name = 'Sales')
Oracle SQL көп жолды ішкі сұраныстар
Тапсырма:
employees hr кестесі негізінде жұмысшылардың аты, фамилиясы туралы ақпарат беретін сұраныс жазыңыз. Менеджерлік функцияларды орындайтын жұмысшылардың ғана жазуы қайтарылуы керек. (олардың employee_id нөмірі сол кестенің manager_id бағанында кездеседі). Осы тапсырманы көпжолды сұраныс арқылы шешіңіз. Сұраныстың нәтижесі 6.2-1. суретте көрсетілгендей болуы керек.
Лаб. 6.2-1.сурет
Достарыңызбен бөлісу: |