Шешуі:
PL/SQL сәйкес коды келесі түрде болады:
SET SERVEROUTPUT ON; DECLARE
nEmpID hr.EMPLOYEES.Employee_id%TYPE := &Номер_сотрудника; nOldSalary hr.employees.salary%Type;
into sLastName from hr.employees where employee_id = nEmpId;
SELECT hire_date into dHireDate from hr.employees where employee_id = nEmpId; nYears := MONTHS_BETWEEN(SYSDATE, dHireDate)/12;
IF nYears >= 15 then nNewSalary := nOldSalary*1.15; ELSIF nYears >= 10 Then nNewSalary := nOldSalary*1.10;
PUT.PUT_LINE('Ескі жалақысы: ' || nOldSalary || ' Жаңа жалақысы: ' || nNewSalary); END;
Oracle SQL сұраныстарындағы агрегатты функциялар, MIN(), MAX(), AVG() функциялары
Тапсырма:
employees кестесі hr сұлбасынан максималды, минималды, орташа жалақысы жайында(жалақы жайында ақпарат salary бағанында орналасқан) ақпаратты қайтаратын сұраныс құрыңыз. Сұраныстың нәтижесі 5.1-1. суретте көрсетілгендей болуы керек.
5.1-1. сурет
Шешуі:
Сұраныстың сәйкес коды келесідей:
select max(salary) As "Максималды жалақы", min(salary) As "Минималды жалақы",.99') As "Орташа жалақы" from hr.employees
Oracle SQL сұраныстарында GROUP BY өрнегі, сұраныс нәтижесіндегі топтау
Тапсырма:
employees кестесі hr сұлбасынан максималды, минималды, орташа жалақысы жайында ақпаратты қайтаратын сұраныс құрыңыз. Жалақы жайында ақпарат salary бағанында, ал қызмет жайында job_id кестесінде орналасқан. Сұраныстың нәтижесі 5.2-1. суретте көрсетілгендей болуы керек.
5.2-17сурет
Шешуі:
Сұраныстың сәйкес коды келесідей:
Oracle SQL сұраныстарындағы топтар сұрыпталуы мен топтап сұрыптау
Достарыңызбен бөлісу: |