Или:
DELETE a
WHERE a.some_field IN (SELECT some_field FROM b)
или
DELETE A
WHERE EXISTS (SELECT 1 FROM b WHERE b.field1 = a.field2)
В зависимости от вашей базы данных, вы можете обнаружить, что одна из них работает лучше других. Oracle IIRC предпочитает, ГДЕ СУЩЕСТВУЕТ IN, но это может зависеть от ряда факторов.