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

UptoLike

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

33
в MS SQL Server:
Declare Temp2 CURSOR FOR SELECT * FROM Staff WHERE
T_number BETWEEN 12 AND 54
в Oracle:
DECLARE
CURSOR TEMP1 IS SELECT * FROM ADMIN_PAY.Staff WHERE
T_number BETWEEN 12 AND 54;
BEGIN
Null;
END;
T_number Surname Name Lastname Birthday Date_input
15 Иванова Анна Михайловна 12.03.1960
12.11.1979
Рис. 17. Фрагмент выбора результата в курсор
Использование совместно с подзапросом квантора существования.
49. Вывести неповторяющийся список сотрудников, которые получали
премию:
в VFP, MS SQL Server, Access:
SELECT DISTINCT Name, Lastname, Surname FROM Staff, Pay WHERE
Staff.T_number = Pay.T_number AND EXISTS(SELECT * FROM Items_pay
WHERE Items_pay.Code_pay = Pay.Code_pay AND Item_pay='премия')
в Oracle:
SELECT DISTINCT Name, Lastname, Surname FROM
ADMIN_PAY.Staff, ADMIN_PAY.Pay WHERE Staff.T_number =
Pay.T_number AND EXISTS(SELECT * FROM ADMIN_PAY.Items_pay
WHERE Items_pay.Code_pay = Pay.Code_pay AND Item_pay='премия');
EXISTS( ) – квантор существования, понятие, заимствованное из
формальной логики. Возвращает два значения: либо ИСТИНА, либо
ЛОЖЬ. ИСТИНАесли условие, указанное в скобках, выполнилось и
имеет ненулевой результат, ЛОЖЬесли условие вернуло пустое
множество
.
50. Вывести список сотрудников, которые ни разу не получали
зарплаты:
в VFP, MS SQL Server, Access:
SELECT Surname, Name, Lastname FROM Staff WHERE NOT
EXISTS(SELECT * FROM Pay WHERE Staff.T_number = Pay.T_number)