查看完整版本: SQL 试题(2)

极帝猫 10-10-2007 01:58 AM

SQL 试题(2)

去中国之前,还是给大家想了一个,哈哈。
[vV$TK5SX j+Z;S 问题:
JNm,u@y4hiL
RmVEj-n4~r4_-\ o 我有一个 table,同样叫做 tbl。egq%a]*|ul,R\
里面有一个 field,叫 pkkey。
` v0^E2Pk} 它的 datatype 是 int(4),auto_increment。
bdC*Z4}yqR
~e9k'?e 时间久了,tbl 这个 table 也 delete 了很多笔的资料。5OE)LT{F]0SU
所以,pkkey 这个 field 的 value 未必是跟着 sequence 了。 H"}4[c8W/l
sbz*qY?h+w$^*i)x
现在,我要写一个 SQL Query,w7F jIiMB
把所有不在 sequence 里面的 pkkey 找出来。!TN _'qM3f|5N q$G
请问,我的 Query 要怎样写~?:ZHU321: :ZHU321:
JW|k i G2A t } iI6h(}
例子:n(y]ke!E%K2_|
pkkeyi/s!FC){:x
19W7[pw[q(D
2
Oo$O6Ia3E 3
tPpbYy6U3U Af 5
4I9t;X)y1KL 6$go xs!F@rmXz
8w/pAP)z&w/s5K
9 M E|t"COW
10L0} f1~!X |3Xq;efJ
12
g)?k5m.r[U 13
?k l$QB8} b)] 14
s3iOkrCa[J 16"v,@0t:w'~^ ZHPA;V#D
18s4DX%a1\yf
20\1Pe&];iOq PY
21
q"xR!YiJ 23F wc!}g'sl

y5~-s{Hq9U1c 我要的答案:E+S ^O6o(Y
pkkey
Wk nf+@ @&B*L 4C!J*d.eJ1S o6fon
7c!jdR:VkH
11$U} Ud3cSXxLG*@JQ(w
15
2Vk5f7`$N&A-XtF a 17
1f[nY%RH~HN 19
4z*Eu1e3UX.c 22
8`s4O4e;}@!fh k$R#n8EP] L&F|'e
[color=Red]※注意事项:要考虑我的 pkkey 不一定只有上面几个个,可能是 1 千,1 万,甚至是 10 万~[/color]
(yw#n)dv:} r6Vqz 从中国回来后看大家的答案~
tT9[/GmZ.F OM :ZHU318: :ZHU318: :ZHU318:

系统 14-10-2007 12:23 AM

瓦~~~ 很難一下.
y3F.F_C :ZHU328: :ZHU328: !B/`2}+_g~
有沒有給其他 TABLE 做 compare
JQN%\b)e5Rz SQL ㄛ應該寫不出 =="
v+E;|h wp*HD S}QSF V$P"kI3yxD
哈哈...:ZHU307: :ZHU307:
e*gT%QK5g3I[-cW ㄛ就用假設性的來解答.
K)P\ ut
d,Vg8f$r1[4U$`N ANS:
7{a5ao:to+H6U*l{0Wk CREATE 一個新的 table 比如 TBLCOMPARE 一個 field 叫 pkkey datatype 是 int(4)XB~)Mh6pyQ k
接著寫一個 for loop 去insert TBLCOMPARE(pkkey) 从 1 到 [color=Red]SELECT MAX(PKKEY) FROM TBL[/color]
5rtj-U4s I2q
5ICyx,dp8UH8^y 最後
5YM6~y'K h SELECT PKKEY FROM TBLCOMPAREt4?:LVxc
LEFT OUTER JOIN TBL
KmRB$d3Si ON (TBL.PKKEY = TBLCOMPARE.PKKEY))p O E)k$UO8us
WHERE TBL.PKKEY IS NULLZ.zl5}q!ucAa Q [
s4R+dt3V7N;r
4GMHV }"[ngH-^'Z
簡單的個人想法I N+G m h,emC
:ZHU325: :ZHU325:

极帝猫 19-10-2007 10:20 AM

回复 沙发 系统 的帖子

想法不错,但是还有更好的。 T/Q0oYC0rLQ.R
可以不用 insert 去另一个 table。fGUQ6h s e

qN$O-y aD 提示:用 subquery。
;ZR o hg} pqqX :ZHU321: :ZHU321:

系统 19-10-2007 08:50 PM

[quote]原帖由 [i]神仙猫[/i] 于 2007-10-19 10:20 AM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=446331&ptid=30437][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url][QU6Wd|_)Y%K3L{ G
想法不错,但是还有更好的。
5O U^_~4^ 可以不用 insert 去另一个 table。
3W,Li \C1g ?,o3eG%O 9hKt{Z z7}J)S*Mke
提示:用 subquery。v p;y$j'w^$Q
:ZHU321: :ZHU321: [/quote]
.h,L \o@8?ly %n s Z`#VG m0L
這樣如果在那個 tbl table 連續2 value以上是已經不在了 Ny1Un,l0j*Rg q
用subquery 還選的出麼?5T/s`3c R
:ZHU334: :ZHU334:

痞子宪 19-10-2007 09:41 PM

SQL....没有概念...不会玩.....C++还会一点...或者mistubishi 的PLC...  bG!Ux"E
介绍一点SQL的书来看看......

极帝猫 25-11-2008 09:08 AM

[quote]原帖由 [i]系统[/i] 于 19-10-2007 08:50 PM 发表 [url=http://www.e-dyn.org/forum/redirect.php?goto=findpost&pid=446378&ptid=30437][img]http://www.e-dyn.org/forum/images/common/back.gif[/img][/url].zz8gZP(g
_(cB!I?

M2o)@(Zhj.[1} 這樣如果在那個 tbl table 連續2 value以上是已經不在了
4C9?2DS@.usln P5v 用subquery 還選的出麼?
'JsY'D5v{ :ZHU334: :ZHU334: [/quote]"M,B a)G m!w6JZ
} U*bA,k$H$b
去年的主题,我现在才看回来。。= =+
`$z a#R E9[hy 嗯,你说的也对~~
2z'c za f8P 超过一个以上不在的连续 value,用 subquery 就找不出了~:BEAN443: :BEAN443:
页: [1]
查看完整版本: SQL 试题(2)