Oracle SQL à l'Aide de jointures pour rechercher des valeurs dans une table, et pas un autre

Car apparemment tout le monde déteste le sous sélectionne, je tiens à le faire à l'aide de jointures.

Pour un incroyablement exemple artificiel, prendre deux tables, l'une avec une liste de numéros de 1 à 6 et un avec une liste de numéros de 0-8. Ensuite, mon objectif serait de sortie tous les nombres impairs dans le tableau Nums.

Table Nums
Number
One
Two
Three
Four
Five
Six

Table Even
Number
Zero
Two
Four
Six
Eight

Si je voulais juste avoir la liste des numéros qui sont dans les Nums, je le ferais...

select nums.number
FROM nums,
     even,
where nums.number = even.number;

Mais, comment puis-je utiliser ces tables pour obtenir la liste des non-evens dans le tableau Nums? Ou, en d'autres termes, quelque chose comme...

select nums.number
from nums
where nums.number not in (select number from even);

OriginalL'auteur Jeremy | 2012-02-09