- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
|
< >Having
) M2 z/ |. j' m `) `1 _: k用途:
+ h# R0 I$ W' }8 ^. R7 @& J1 a </P>< >指定群组或汇总的搜寻条件。</P>< >语法:
* R6 o) F3 p/ M, f R, D </P>< >SELECT column,SUM(column) FROM table
], t6 Q! R8 E$ L# NGROUP BY column
$ Q2 R8 I) H: I9 P7 U& o6 V+ LHAVING SUM(column) condition value + l8 {7 R3 |$ n1 p0 a; a, p
2 o5 W _: F6 s3 C. r解释:
3 X; j( ?8 h0 Q: I) q* d, c: V; Z </P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
& F% J, J" ~5 K+ y. z- z# t& B </P>< >例: 6 J" |; \ T7 `8 h% ?
</P>< >"Sales"表中的原始数据: # ]! X3 l) A! l$ E) w+ Z
</P>< >Company S i- v5 [0 l3 Q
) l1 Q, r0 w. `9 n Amount
9 S- L* T- G" `& s* m5 W. k {+ U0 o* E! x M6 ~( o, O
* \) t3 _9 v: Y/ u/ X0 o# c6 TW3Schools ' _1 J' k! F7 \7 ] P1 q
+ f1 v. G1 U) x. J
5500
8 E% F" u- S% u* ~+ F , c0 H4 S: @/ j, y- h! y' u6 |
8 M! q0 C5 U/ q; `; G: x( q T
IBM
9 v% t* r$ d) m8 |9 X# y 1 s7 x1 `, [& J* V* [, Z X! B& r
4500 & T9 k( J1 D' Q& N6 Y
( g6 r& L) b w6 r+ u ! X8 K. x o6 r+ B% _" U+ X
W3Schools ; e1 G; e8 M7 Z: [ n* `$ m" K0 d
* }% s$ g5 o, ?! s) Y$ h( r
7100 , k. o0 v* ^% G, M, b
7 `- n7 ~) B0 j- j </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales * x4 k0 \$ Z w6 @( F
GROUP BY Company HAVING SUM(Amount)>10000
( n0 N7 v/ D$ ?+ Q) _2 _7 k/ T5 E2 z </P>< >返回结果:</P>< >Company ' m; ~9 ]4 p. x v$ V3 h2 R' Q" r
8 U' [# Q# Q( U6 t0 x, [# M0 b SUM(Amount)
( m7 u, Z% ~( U) `% ] ) z! V2 Y1 D4 Q: |
) G3 P7 ]. u- T. ^. z' L
W3Schools
8 k6 W3 ~( Y& Z7 U
& d, Y, ]2 c! _. B. F9 R0 I 12600 * N1 H% V% P) L0 {) j+ s
) K. g! A" R7 p" ?7 O
2 V$ t( i r% [. P! o $ n; [* t; f5 W- h
</P>< >
' O1 X8 l0 L& V1 K </P>< >Join
; M- `8 L i! W5 s用途: : h' p) ?5 y3 W; P' ~6 T: o% I
</P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例: " p+ O& j( n3 g" E* w
</P>< >"Employees"表中的数据如下,(其中ID为主键):
( |. @5 K2 J2 B+ c4 _5 w </P>< >ID
1 @4 _: j% v+ n) q# r / ?4 r% {. [ ?3 r! @2 i
Name + P3 B" @* h. A! j. r: Q! \
* O* Y+ C; F# w) Y% |6 h
4 p2 W! m+ G2 y& i0 \' Q$ _01
: p; E! \$ h& J, ?
# t4 @0 y3 L% \, n9 y: M Hansen, Ola ! D- P1 W8 n9 H, b: e6 P# _2 V! }
0 A& g& k2 [ \; z ~$ H
, w6 A6 ]$ k- L+ W" T6 {02 : o- w, Q) h' z+ |2 w8 i
6 B/ D7 H' y! E& ` Svendson, Tove 3 z3 Q! y% Z% Q/ Z' j3 |
( |- I& I; S/ K: {: Q6 b; @6 j
/ u' J: z) }0 g4 L L) M
03
5 z4 w" F6 Z' E- k # {8 d, z, V( m+ J; r4 T9 E
Svendson, Stephen
6 f% B- T) @* p" v( }5 |4 |/ W , T3 w3 j* L( Z0 [ a$ i7 r, K" l
. S" c. c2 P( X" \" Z, D
04 $ Y" Z0 K5 t) b9 ?' I
! A! k7 X& `. E7 k/ f+ p
Pettersen, Kari D" b# U: z5 x- O8 _5 Q
+ X l# e5 h" r$ V
. F/ o0 Y2 @3 J; c% S# i"Orders"表中的数据如下:
: G) ?0 d0 M: z3 t% P% H </P>< >ID ) ?; }% c$ h4 x0 v0 p X/ u5 S" X
( O. y, V7 a1 M' O" O Product 2 F: k$ t/ U5 F$ ?/ K8 m7 _) ~6 _3 ]
9 J! r D0 j- q h$ V
, t& A/ ~0 E! i. @7 R# F
01 2 R3 F Y4 k5 p; h- Z: ]
* f, n }% Z; W Printer 8 m" O9 j5 @1 Q& J/ ^# X
: {9 y9 R% E- R0 ?
6 F9 p2 X0 O/ B4 v- G4 _" Y- R03
# e/ E& ?$ ^0 D; F- }( Y 6 F- {% e3 G7 S" q1 L; @8 c2 B5 _ M
Table & ^3 f9 _8 H, o
! e0 q0 {. |; P; k$ @. c$ j
. e2 a# W D e* v* p
03 6 \* X5 g% E# {; f% Z p
+ L, I% K/ T7 J9 Q% ?' F* }* i$ M, T Chair
. b% G, y& @2 c! g 4 C7 p# B1 C6 G
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product
7 S6 o3 }8 D) Y- }7 HFROM Employees, Orders 2 P2 L4 ?, b* [ `$ a" T3 L
WHERE Employees.ID = Orders.ID
4 U1 Y$ |" M/ i6 g L' d6 @ 2 C$ Y q; ~ Q! B+ W Y$ a' u
返回结果: 3 }% U7 ]9 o" c0 M6 y
</P>< >Name + C( {( R8 Q1 d( p% E8 y* I
, [" a) ^: `' W4 ^# C0 J$ G; @
Product
. G5 w% Y& S ?$ ]' d 4 j7 f0 ^' n* |! P
) ? k, r. ]$ p7 n6 d/ f: lHansen, Ola 8 T. ]' ]# z; w6 R1 x4 r
5 S5 x8 ?# d) O! ?8 D: [% m
Printer
2 @9 C: ~, R8 l8 x7 B! S+ n ( U: }- z2 B o
0 o, d7 T Z7 @6 _) \
Svendson, Stephen 8 a! s! a! Y/ l
F, k/ N' U' w6 T q5 Q
Table 8 ?% o% N6 l. O/ E
( N0 k& Z9 F) {8 B% @& G
" i# g! A6 U- JSvendson, Stephen * E9 V4 C$ n# I$ M0 r+ n$ I% R
& [: p3 a3 i+ S4 ~ Chair 8 `/ v2 {5 P4 _9 y7 Y; L. F( r/ p8 e
8 k% s$ e0 f6 w6 n </P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
8 V: j4 ?* C9 b) R6 z0 yFROM Employees 4 N/ V$ e2 D( s1 {* n3 i! V
INNER JOIN Orders
* k& _3 }" ]2 H$ `4 {ON Employees.ID = Orders.ID
' R3 }& D. K) g. n+ g# L* j: A</P> |
|