SQL стандарт в СУБД MS SQL SERVER, ORACLE, VFP И ACCESS: манипулирование данными. Семенова И.И. - 32 стр.

UptoLike

Составители: 

31
Использование переменных вместо названий таблиц позволяет
сократить размер кода создаваемого запроса и сделать его более
читаемым.
45. Вывести список сотрудников и суммарную зарплату каждого (рис.
16):
в VFP, MS SQL Server, Access:
SELECT Name, Lastname, Surname, d.T_number, SUM(Sum_pay) FROM
Staff d, Pay f WHERE (d.T_number = f.T_number) GROUP BY d.T_number
в Oracle:
SELECT Surname, d.T_number, SUM(Sum_pay) FROM
ADMIN_PAY.Staff d, ADMIN_PAY.Pay f WHERE (d.T_number =
f.T_number) GROUP BY d.T_number, Surname;
Name Lastname Surname T_number Sum_sum_pay
Иван Петрович Иванов 1 19607.00
Василий Михайлович Сидоров 2 5732.00
Петр Аркадьевич Васильков 3 7595.00
Савел Игнатьевич Соянов 4 2456.00
Рис. 16. Результат запроса
46. Вывести список сотрудников, получающих одну из следующих
надбавок к зарплате: ‘премию’, ‘оплату учебы’, ‘поощрение’, и коды их
зарплат:
в VFP, MS SQL Server, Access:
SELECT Name, Lastname, Surname, b.Code_pay FROM Staff a, Pay b,
Items_pay c WHERE b.Code_pay = c.Code_pay AND a.T_number =
b.T_number AND Item_pay IN('премия', 'оплата учебы', 'поощрение')
в Oracle:
SELECT Name, Lastname, Surname, b.Code_pay FROM
ADMIN_PAY.Staff a, ADMIN_PAY.Pay b, ADMIN_PAY.Items_pay c
WHERE b.Code_pay = c.Code_pay AND a.T_number = b.T_number AND
Item_pay IN('премия', 'оплата учебы', 'поощрение');
Выбор результата в курсор.
47. Вывести все сведения о зарплатах сотрудника с фамилиейАлеев
и именемПавел и поместить результат во временную таблицу с
названием Temp1:
в VFP:
SELECT Name, Lastname, Surname, Sum_pay, Pay_Day FROM Staff, Pay
INTO CURSOR Temp1 WHERE (Staff.T_number = Pay.T_number) AND
Surname = ‘Алеев’ AND Name = ‘Павел