Checking if meta_value exists for any user

I personally try to stay away from mysql queries when I can use WordPress functions to achieve the same thing. You could try using get_users, Is this what you are trying to achieve:

<?php
    $blogusers = get_users('meta_value=Referral');
    foreach ($blogusers as $user) {
        echo $user->user_email;
    }
?>

Untested. But that should display every user with a null value for the user meta Refferal. If that works you could change echo $user->user_email;, to update_user_meta($user->id, ‘Referral’, $coupon_code);