SQL:``在哪里输入(从中选择Y'')
技术问答
201 人阅读
|
0 人回复
|
2023-09-14
|
以下是在SQL中达到其结果的最有效的方法:
; V4 I, |4 S9 w0 z0 y9 mSELECT * 3 f. |+ l% w( Y; j- x/ F) l
FROM Customers " [' x/ W7 p5 M% [& f$ `
WHERE Customer_ID NOT IN (SELECT Cust_ID FROM SUBSCRIBERS)$ i' S7 X* ~+ n
可以更好地使用联接并达到相同的结果吗?
8 V0 _7 d$ N8 r% U+ a% `' \ : F/ P. \3 _$ A" n, x( E
解决方案:
* d* x5 F! s4 e/ ?! o9 k* Q! f
5 C1 W6 O# N& i' b( H" I# D1 u6 a6 k1 Z/ ]/ Q
# W2 l, \# K8 }* D 您可能更喜欢使用aJOIN而不是的原因之一NOT IN是,如果NOT3 h# N3 w' G( ~" [" \& Q# T
IN子句中的Values包含any,NULL您将永远不会获得任何结果。如果确实要使用,NOT2 c- h3 G/ Y4 f7 Z8 Q
IN请记住要始终考虑子查询是否可能带回NULL值!' C0 B6 `8 u6 v @% e
RE:评论中的问题" _" t+ j$ {$ O$ s: @
9 r8 V/ P0 i8 O6 c6 `‘x’NOT IN(NULL,’a’,’b’)
s/ N7 y3 \; t, V3 ~8 |# s≧ ‘x’ NULL和’x’’a’和’x’’b’9 ^4 `: {- C4 C4 F8 a& K- E# z
1 未知,真实和真实
" z4 g9 T6 M9 }' [4 b& U( `& h1 未知 |
|
|
|
|
|