I mean the inner select uses "limit 1", right? So it will usually (but not always as I said in another comment) only delete and return a single task.