MySQL Delete with JOIN and alias

with tags mysql -

Delete from an aliased table with a join. Just make sure to use the table alias after the delete statement: DELETE c

This will delete any customers who do not have both a User and Draw record

DELETE C
FROM customers C
    LEFT OUTER JOIN users U ON C.number=U.customer_number
WHERE C.number NOT IN (
    SELECT DISTINCT customer_number FROM customer_draws WHERE customer_number IS NOT NULL
)
AND U.id IS NULL;

It can be simplified by using another OUTER join:

DELETE C
FROM customers C
    LEFT OUTER JOIN users U ON C.number=U.customer_number
    LEFT OUTER JOIN customer_draws CD ON C.number=CD.customer_number
WHERE
    U.id IS NULL AND  -- No User Record
    CD.id IS NULL;    -- No Draw Record