Oracle SQL-在一个表中使用连接而不是在另一个表中找到值
技术问答
171 人阅读
|
0 人回复
|
2023-09-14
|
显然,每个人都讨厌儿子的选择,所以我想用联系来做到这一点。
0 w2 s4 [7 I% Q举一个不可思议的例子,拿两个表,一个表的列表是1-6的数字,另一个表的列表是偶数0-8.然后,我的目标是表格Nums输出所有奇数。- s+ |0 c A5 c; E* H& V0 g
Table NumsNumberOneTwoThreeFourFiveSixTable EvenNumberZeroTwoFourSixEight假如我只想得到Nums偶数列表,我会…
3 d( v9 @# f. [6 A7 N. X6 Mselect nums.numberFROM nums, even,where nums.number = even.number;但是如何使用这些表来获取呢?Nums表中的非偶数列表?或者,换句话说,就像…
- e$ H X( }* }0 d$ ` m& wselect nums.numberfrom numswhere nums.number not in (select number from even);
: d5 z [% [+ d+ T, n 解决方案: $ M- U# ^( {% }9 a, v
正确使用SubSELECT可以很好…单独的某人不喜欢某事并不是我直言不讳的充分理由。- D+ P5 w' [1 X6 L! L$ F$ Q
有几个选项-仅2个为例:: a7 v; l, i, x7 }. S" t
SELECT nums.number FROM nums LEFT OUTER JOIN even ON even.number = nums.number WHERE even.number IS NULL或者
1 p) h4 \( g, X# G0 C: E6 ]SELECT nums.number FROM numsMINUSSELECT even.number FROM even |
|
|
|
|
|