Сборник упражнений по стандарту SQL. Семенова И.И. - 22 стр.

UptoLike

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

22
Использование переменных вместо названий таблиц позволяет
сократить размер кода создаваемого запроса и сделать его более
читаемым.
47. Вывести список сотрудников и суммарную зарплату каждого (рис.
16):
SELECT Name, Lastname, Surname, d.T_number, SUM(Sum_pay) FROM
Staff d, Paies f WHERE (d.T_number = f.T_number) GROUP BY d.T_number
Name Lastname Surname T_number Sum_sum_pay
Иван Петрович Иванов 1 19607.00
Василий
Михайлович
Сидоров 2 5732.00
Петр Аркадьевич Васильков
3 7595.00
Савел Игнатьевич Соянов 4 2456.00
Рис. 16. Результат запроса
48. Вывести список сотрудников, получающих одну из следующих
надбавок к зарплате:премию,оплату учебы,поощрение, и коды их
зарплат:
SELECT Name, Lastname, Surname, b.Code_pay FROM Staff a, Paies b,
Items_pay c WHERE b.Code_pay = c.Code_pay AND a.T_number =
b.T_number AND Item_pay IN('премия', 'оплата учебы', 'поощрение')
Выбор результата в курсор
49. Вывести все сведения о зарплатах сотрудника с фамилиейАлеев
и именемПавел и поместить результат во временную таблицу с
названием Temp1:
SELECT Name, Lastname, Surname, Sum_pay, Pay_Day FROM Staff,
Paies INTO CURSOR Temp1 WHERE (Staff.T_number = Paies.T_number)
AND Surname =Алеев AND Name =Павел
Для того чтобы использовать результаты запроса в дальнейшем
коде программы, необходимо запрос сохранить либо на диске в
таблице (ключевая фраза INTO DBF или INTO TABLE) с заданным
названием, либо во временной таблице, которая сохраняется только на
период работы программы или в рамках сессии.
INTO CURSOR поместить результат запроса во временную
таблицу с указанным названием (в примере Temp1), которая будет
удалена из памяти по окончании работы программы.
50. Вывести все сведения о сотрудниках с табельными номерами 12-54
и поместить результат во временную таблицу с названием Temp2 (рис. 17):
PDF created with pdfFactory Pro trial version www.pdffactory.com