Oracle: Vérifier si les lignes existent dans une autre table

J'ai une requête de joindre plusieurs tables et le retour de quelques colonnes.

Une colonne indexée d'un autre tableau de références de la PK de l'une de ces tables jointes. Maintenant, je voudrais ajouter une autre colonne de la requête que les états-unis si au moins une ligne avec l'ID existe dans la nouvelle table.

Donc, si j'ai une de ces vieilles tables

ID
 1
 2
 3

et la nouvelle table

REF_ID
1
1
1
3

alors que je voudrais obtenir

ID   REF_EXISTS
 1            1
 2            0
 3            1

Je peux penser à plusieurs façons de le faire, mais ce qui est le plus élégant/efficace?


MODIFIER
J'ai testé les performances des requêtes fournies avec 50.000 enregistrements dans la table ancienne, tous les autres disques jumelés par deux lignes dans la table, donc la moitié des dossiers ont REF_EXISTS=1.

Je suis en ajoutant la moyenne des résultats est que les commentaires à la suite des réponses au cas où quelqu'un est intéressé. Merci à tous!

OriginalL'auteur Peter Lang | 2009-12-16