==== ������������� ����������� � DELETE ====

�� ������ ����� ������������ ���������� � ��������� ������� DELETE. ��� ���� ��� ����������� ���������� ��������� �������� ������� �������� ����� ����������, ����� ������ ����� ���������, ��� �����, ��� ��� �� ������� �� �� �������� �� �������������� ������� ������ ������. ��������, ���� �� ������� ���� ��������� � �������, �� ����� �� ������������ ��������� ������ ����� ������� ���� ���������� ����������� � ��������� � �������:
DELETE FROM Customers WHERE snum = ANY ( SELECT snum FROM Salespeople WHERE city = 'London' );
��� ������� ������ �� ������� ���������� ������ Hoffman � Clemens (����������� ��� Peel), � Periera (������������ � Motika). �������, �� �������� ��������������, ��������� �� ������������ ��� ��������, ������ ��� ������� ��� �������� ������ Peel � Motika. ��� �����. ������, ����� �� ������ ����������� � ���� ������, ������� �������� ������ �����������, ���� ������ ������� - ������� ������� �������� ��������, � ����� ���������� ������, ���������. ���� ������, �������, ������ ����� ���������� ������ ��������, �������� ������� ��������� ��������. ����, ��������, �� ������ �������� �������� ���� city ����� ��������� �����, ��� ��� �������������, �� ������ ����������� ���� ���� ���������� ����� ������� ��������. ��� ��� �������� ���� ������ ����� ��������� ����������� �� ����������� ������� �������� ��� ���� ��������� ������� �������, ��� ����� ����� ��������� ���������. SQL ����� ������������ ��������� ������ � ���� ������� ��������� �������� ���������� ����������� , �� ��� �� ������ �������� � �� ������ ���������. ���� �� �� ������ ��������� � ������� �� ������� �� ������ ������� ������ � ����������� FROM ����������, �� ������ � ���������, ��������� �� ������� ������-�������� ���� ������� - ������� �������� ������� ������� � ��������� ����� ����������� � �������� ���������. ������� �������, �� ������ ������������ ������������ ����������. ��� ���������� �� ��� ������������ �����������, ������� �� ����� ������������ � INSERT, � ������� ��� ���������� ������������ �� �������-���������� ������� �������������� � �������, � �� �� ������� ������ �������.
DELETE FROM Salespeople WHERE EXISTS ( SELECT * FROM Customers WHERE rating = 100 AND Salespeople.snum = Customers.snum );
�������� ��������, ��� AND ����� ��������� ����������� ������� ��������� � ������� ���������. ��� �������� ��� ���� ��������� ����� ����������� �������� ��� ������ ������ ������� ���������, ����� ��� ��� ����������� � ������� ������������� ������������. ��� ������� ������ ���� ��������� ������� ����� �� ������� ���� ������ ��������� � ������� 100 � ������� ���������. ������� ��, ������� ������ ������ ������� �� ��:
DELETE FROM Salespeople WHERE 100 IN ( SELECT rating FROM Customers WHERE Salespeople.snum = Customers.snum);
��� ������� ������� ��� ������ ��� ������� ��������� ��������� � ������� ��� ��������� ��������� �������� ����� ������ = 100. ������ ������������ ���������� - ��� ���������� ��������� � �������� � ������� ��� ��������� �� ������� ������� (� �� � ����� ����������� DELETE) - � ����� ����� �����������. �� ������ ����� ��������� ������� �� ������ ���� � ������� ��������� ������� ��������� ���, � ������� ��������� �������:
DELETE FROM Salespeople WHERE (snum IN ( SELECT snum FROM Orders WHERE amt = ( SELECT MIN (amt) FROM Orders b WHERE a.odate = b.odate ));
��������� � ��������� DELETE , ����� ������������ ���������. ���� ���������� ������ ������� ����������� ������� ����� ����������� ��� ���� ������ ������ �������� �������. ���� ��� ����� ����� �� ��� ����� ������� ������, �������� �������� ������� �����, ��� ��������, ��� ������� ������ ����� ���������� ������� ��� ���� ����. ���� snum ��������, �������������� �� ���� �������, ����������� � ���������� � �������� �������� ������� DELETE, ������� ����� ������� ��� ������ � ���� ��������� ���� snum �� ������� ���������( ��� ��� snum - ��� ��������� ���� ������� ���������, �� ����������� ��� ������ ������� ������ ���� ��������� ������ ��� �������� ���� snum ����������� � ������� ����������. ���� ������� ������ ����� ������, ��� ��� ����� �������. ) ���� snum = 1007 ������� ����� �������, ����� ���������� �������� �� 3 ��- �����; ���� snum = 1002, ���������� �� 4 �������; ���� snum = 1001, ���������� � �������� �� 5 ������� ( ��� ������� ������� �������� ������, �������� ����� ��� ������� Peel ���������� ������������ ������� �� 5 �������, �� ���� ��� ������� �����������). ���� �� ������ ��������� Peel, �� ����� �� �������� ������ ���������, ������� �� ��� �����:
DELETE FROM Salespeople WHERE (snum IN ( SELECT snum FROM Orders a WHERE amt = ( SELECT MIN (amt) FROM Orders b WHERE a.odate = b.odate ) AND 1 < ( SELECT COUNT onum FROM Orders b WHERE a.odate = b.odate ));
������ ��� ��� � ������� ��� ������ ������ ���� �������, ����� ���������� ���� = 1 �� ������ ������������ ����������. ��� ������� �������� �������� ������� ������������, � ���� snum ������������� �� ����� �������� � �������� ��������.