因为显然每个人都讨厌子选择,我想使用连接来做到这一点.
对于一个令人难以置信的设计示例,请选择两个表,一个表中包含1-6的数字列表,另一个表中包含0-8的偶数列表.然后,我的目标是输出Nums表中的所有奇数.
Table Nums Number One Two Three Four Five Six Table Even Number Zero Two Four Six Eight
如果我只想获得Nums中偶数的列表,我会…
select nums.number FROM nums,even,where nums.number = even.number;
但是,如何使用这些表来获取Nums表中的非平均值列表?或者,换句话说,像……
select nums.number from nums where nums.number not in (select number from even);
如果使用得当,SubSELECT很好……“有人不喜欢的东西”单独就不足以成为恕我直言.
有几个选项 – 仅举两个例子:
SELECT nums.number FROM nums LEFT OUTER JOIN even ON even.number = nums.number WHERE even.number IS NULL
要么
SELECT nums.number FROM nums MINUS SELECT even.number FROM even