因为显然每个人都讨厌子选择,我想使用连接来做到这一点.
对于一个令人难以置信的设计示例,请选择两个表,一个包含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)
| 归档时间: |
|
| 查看次数: |
28539 次 |
| 最近记录: |