Les deux fonctionnent de la même manière, car la clause SELECT dans EXISTS n'est jamais évaluée. Vous pouvez tester en utilisant :
... EXISTS(SELECT 1/0 FROM TABLE)
Cela devrait déclencher une erreur de division par zéro, mais ce ne sera pas le cas.
Personnellement, je préfère utiliser NULL car il est évident que rien n'est référencé dans le tableau, il est donc plus visible pour les autres. La sélection d'une valeur, comme le nombre INT 1 dans le deuxième exemple, peut conduire à des hypothèses sur ce qui se passe si vous n'êtes pas familier avec la clause EXISTS.