Oracle SQL - 使用联接在一个表中查找值,而不是另一个表

Jer*_*emy 7 sql oracle

因为显然每个人都讨厌子选择,我想使用连接来做到这一点.

对于一个令人难以置信的设计示例,请选择两个表,一个包含1-6的数字列表,另一个包含0-8的偶数列表.然后,我的目标是输出Nums表中的所有奇数.

Table Nums
Number
One
Two
Three
Four
Five
Six

Table Even
Number
Zero
Two
Four
Six
Eight
Run Code Online (Sandbox Code Playgroud)

如果我只想获得Nums中偶数的列表,我会...

select nums.number
FROM nums,
     even,
where nums.number = even.number;
Run Code Online (Sandbox Code Playgroud)

但是,我如何使用这些表来获取Nums表中的非平均值列表?换句话说,就像...

select nums.number
from nums
where nums.number not in (select number from even);
Run Code Online (Sandbox Code Playgroud)

Yah*_*hia 12

如果使用得当,SubSELECT很好......"有人不喜欢的东西"单独就不足以成为恕我直言.

有几个选项 - 仅举两个例子:

SELECT nums.number FROM nums 
LEFT OUTER JOIN even ON even.number = nums.number 
WHERE even.number IS NULL
Run Code Online (Sandbox Code Playgroud)

要么

SELECT nums.number FROM nums
MINUS
SELECT even.number FROM even
Run Code Online (Sandbox Code Playgroud)