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

我的地盘我做主
该用户从未签到
|
< >Having; [% B" @3 T7 ]4 i
用途: ! l5 C x& v/ i. c& y$ F. t
</P>< >指定群组或汇总的搜寻条件。</P>< >语法:
C% l$ e. Z, K6 s6 @ </P>< >SELECT column,SUM(column) FROM table
: \9 [; x$ P: ?7 A* t* NGROUP BY column
; o; |" [9 L: J# @! p+ a" gHAVING SUM(column) condition value
% x) k. O$ J" i) F1 @7 N/ H
" Q# p9 P& z O* _% U V解释: ( w5 a7 _* p: t5 X) l
</P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。 . R4 i, C/ U9 f5 i
</P>< >例:
2 {2 k* {8 h0 [; C </P>< >"Sales"表中的原始数据:
0 Y# Q& \" \5 t& R1 } </P>< >Company
+ D o; C9 z# [* V9 d4 i+ p2 ^ 6 u! l' v- ~/ I2 A' `& ?8 {* B
Amount
8 s/ @# i: c0 I. ^, @0 @& Z+ V+ @
* ]( R/ O% X' N# {2 V5 b8 O. e 7 R4 o/ `2 t# D7 [
W3Schools
; w) O7 I! S5 L1 g" B7 ^% J5 @* ~
) J; ~6 v) m B+ y1 Y7 l 5500
. j% m8 ~1 I8 Q+ S& x
; X' O Z" F% e, r" L- T
4 Z# y6 Q) h1 v8 Q& c# X5 O( G& \0 mIBM
: N1 y1 U! |) h, ^% P3 c
c' g& N) j8 V0 p0 H S 4500
, o3 g5 @/ d* R( W4 [( `) i W
/ O2 U. Y3 I# `; V! Q7 B/ R3 f 5 r& E) h; A+ O" g7 x% ?
W3Schools
# g: `. F# Y1 c0 a4 b . X' G# g2 W1 m; W0 X# l
7100 ) ^; ]$ {! I% l8 [
! w" t8 p8 @% M+ |* i! B0 k </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales " k4 C. ^6 M5 M) F/ I
GROUP BY Company HAVING SUM(Amount)>10000
8 d0 K) n% Q- w% B- C9 t </P>< >返回结果:</P>< >Company
1 \) E/ K" u0 k5 k2 ~
* R1 ?. Z5 `1 R- x; h1 l1 V0 R SUM(Amount) 4 g9 o8 c. y, G9 x- z' G) o' h4 F
9 f" B" ~# L* i: E) B
7 D5 k9 A$ Q; I0 Z/ l& `1 ?) i# gW3Schools % n: U0 V* {/ b" j, i$ {
/ J* U- x7 T* I5 L 12600 % r" v5 n" V0 K- \
( V* ?2 i$ b. j! l8 b2 ~, s; I9 G
5 F- e+ z. s" v, `& z. }
* ~7 k* L+ @& e6 k* I% R4 i. w4 @& x6 `
</P>< > 7 x' z) I$ \3 L. U) h J2 x
</P>< >Join0 A- z. U: A! _) }' ^7 W( p& c
用途:
0 R, N9 v9 p' D% N9 e7 L0 S3 G </P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例:
# y6 c) F/ D: U! w4 S </P>< >"Employees"表中的数据如下,(其中ID为主键):
$ f) n. G5 i, S/ ~8 I </P>< >ID
6 y7 T4 M- x( e0 r 3 ?4 T5 @' z. n/ \7 }% y! g
Name
1 N; @6 P' \1 [9 z * u. @. B3 E2 I1 ^$ B
8 N$ D7 `* V; }# k5 h01
s) J! m. v% i8 [* [
% _- {* n# U/ \9 N2 f Hansen, Ola % S5 H; ]" \: ^7 \
, x$ a: g8 P# }7 h6 _ ~1 y
; A- f" a2 }6 X
02 ( A) ]; J5 C% y7 }6 s5 X% \3 _
. C- g" k) j) b" ]( S" ]- X
Svendson, Tove
2 l' b; b5 Q* \" b
$ m) Y/ g! |8 f q ! B. {" ~$ O+ p% w( T9 x, j, ^
03 & J3 x- B+ N! M, O
& A2 Q4 a# [# W O/ ?( w Svendson, Stephen . u" N: _0 C1 g8 v( Z
7 N2 E; H" b* J v) v) H% ^- w
/ A* D! F d8 U# M/ Q1 W. ?" v+ Q04
% o: d, u3 G% ]
2 f8 u- X& M n' W4 b Pettersen, Kari
5 ^& K8 u* z! l
H. w9 m6 }6 L* g, h4 x + `% `+ w. B' s5 G0 M: ]
"Orders"表中的数据如下: + N, a: s3 S9 T& c3 Z
</P>< >ID O* \7 p8 y+ N/ c6 C3 E
- [2 M$ Q+ l, M8 \* D
Product
/ Q7 _, G g6 _9 Y( X. u- Z
! M9 U: |- Z3 K6 C
: r3 s) |; S O% J" z' _01
9 h2 O8 ^$ [" s 1 }) M/ ~7 s8 _* ]
Printer
) U& o4 L% [& }- I+ f! a( h6 E
9 }/ k1 Q" v4 Z+ o+ a 8 A, T3 l7 U y3 B& ^& y' P. T8 E
03
9 R8 Y' z' O# |1 J ]2 z " D4 t( C6 D# ]& A% j }9 e
Table ( @3 R! H v# w4 B8 B: m( p
- `' y) ^4 \( i/ t% b
, q, V2 |# t8 g" l G
03 4 U' w, O+ N. x& ^2 B
2 k$ U" |. C0 c0 z9 [$ }1 ~ Chair
3 t9 q `! b& w, C( C2 \
4 }. ]: c9 w: L0 m; Z </P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product % T% N5 ~9 ^1 @# g
FROM Employees, Orders : b/ n' J. e) V9 q
WHERE Employees.ID = Orders.ID 1 w3 f8 b* p9 u( o4 z4 n* r! }
; B/ [2 m& D2 f$ Y ]' w返回结果: F5 M- q7 t2 F
</P>< >Name * {5 {! p9 I- d" B. ^
1 q5 k9 y1 R- y7 [ Product
7 r8 A4 C* Z- {/ g
1 \" A, o; X/ e. C
- q- ]: n$ C0 g6 DHansen, Ola 2 J5 Y+ y e4 v
6 ^3 t, S: k% @$ _ Printer d; k1 p1 @: R C, I9 u9 b
7 X. ~7 m9 N% {! O* S' D
/ {% o' T+ D+ y6 |7 K6 u/ @Svendson, Stephen ) A, g9 m& S% w6 U. M& C
9 f4 Y& f" a/ ^! L7 ` Table
. s2 b0 Y+ o! A; `7 F - q+ ?; ?; P+ I6 O, F
L# G4 w1 x9 j/ f" h
Svendson, Stephen
" [$ M3 `( a( |. h- A 4 P6 v. e; T9 ~. v# l
Chair
3 q: u$ E2 n' Z m7 W % i6 O9 j. E0 l1 F) N2 I" R
</P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
# c! e( N3 j @3 S DFROM Employees 2 `% x* o( `/ X% p9 Z
INNER JOIN Orders
9 H4 O5 ]6 C) a% i2 S& z$ NON Employees.ID = Orders.ID
8 d' c" j1 y' y+ D</P> |
|