Лаба 1-4 [Вариант Банк] / запросы2
.docАлешкевич Матвей Вячеславович гр. 950502
Запрос на удаление данных
Удалить клиентов, которые числятся в базе, но не снимали деньги в банкоматах и не обслуживались сотрудниками банка.
DELETE *
FROM Client
WHERE (Client.C_passport_number NOT IN (SELECT Service.C_passport_number FROM Service))
AND (Client.C_passport_number NOT IN (SELECT Removal_of_money.C_passport_number FROM Removal_of_money));
Запрос на добавление данных
Для конкретного филиала записать без повторений всех клиентов, которые в нем обслуживались.
INSERT INTO Clients
SELECT DISTINCT Client.*
FROM Client, Service,
(SELECT Employee.E_phone_number
FROM Employee, Department, Service
WHERE (Employee.D_number=Department.D_number) AND (Department.B_number=[Номер филиала]) AND (Employee.E_phone_number=Service.E_phone_number)) AS t1
WHERE (Client.C_passport_number=Service.C_passport_number) AND (t1.E_phone_number=Service.E_phone_number);
Запрос на модификацию данных
Пометить банкоматы, из которых клиенты снимали деньги, но они не обслуживались сотрудниками банка.
UPDATE Cash_dispense
SET Cd_address=[Cd_address]+'(не обсл.)'
WHERE (Cash_dispense.Cd_number IN (SELECT Removal_of_money.Cd_number FROM Removal_of_money))
AND (Cash_dispense.Cd_number NOT IN (SELECT Cash_dispense_service.Cd_number FROM Cash_dispense_service));