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

我的地盘我做主
该用户从未签到
|
< >Having$ p2 e; v9 R$ x& ^" s3 Z
用途:
3 _6 W& b+ g; B2 P+ L4 ^ </P>< >指定群组或汇总的搜寻条件。</P>< >语法: , D4 L4 B" `) d- R# w
</P>< >SELECT column,SUM(column) FROM table
* `- ]! Q4 w% `! ]GROUP BY column 2 R, X4 a7 ~( _6 ?% O; x
HAVING SUM(column) condition value
& Z% O6 [! k ~
6 [5 `/ o3 f1 ^2 j( {. F解释:
) L% C1 E' O# n </P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。 / U3 F6 _- q$ }3 ~1 T% n
</P>< >例: # Y, a) M( |( Z, H) D( f" j
</P>< >"Sales"表中的原始数据:
% j( ^9 B5 n) h- f& L- m" ` </P>< >Company
1 \ H# V& H1 i' Z; F9 j1 g3 A
: e9 u. H. a' `& f% l Amount . i6 }" Z6 w R7 z: f1 q
, \$ s: ^. o& H! z% b+ y
- ]5 r% P6 }/ j% e+ C6 V% ]- ]+ ^! |W3Schools
. u# p% P$ W8 H
: L: I5 q& I+ i. k1 B2 X9 e0 h- m 5500 2 ?$ |9 q- Y5 C2 S% M, N
& w' D+ F# a q1 G6 u7 N % }& D. v( i5 c9 J9 K' V( K
IBM 6 q4 @! y9 F) n9 d: e
! b& u' _" v% w h8 n 4500
1 V+ m" d; Z. M, }8 E4 H+ P - A& R1 C! x) u1 ~) x) ^
, d$ n- s( ~8 `
W3Schools 0 u F. W2 y, D& E, g
1 L0 ^% ]0 F+ x3 P7 u- A' n 7100 ; d0 X- h% H6 I, ~% C/ U: G( @! j
: f$ M& A& @" T </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales ( T- g8 B9 a3 s- V* q
GROUP BY Company HAVING SUM(Amount)>10000
" Q* G$ f) N/ c7 j </P>< >返回结果:</P>< >Company ' e, b2 n3 q$ P& _7 p$ e. B& R
$ B6 o7 S8 E; l
SUM(Amount)
+ p1 t! o4 `+ r4 D* y+ j% X # j4 a- |9 Y8 m, A# T# T& g( G8 O
: M/ D `; }6 S# eW3Schools
5 N4 D' g2 f3 b) x; C% O, N3 R, `. ]
6 W! ^" b7 k4 p3 U: }/ _ 12600 ) ^4 Z& }5 k9 s
, s! l4 U; [0 u3 B1 l ) f9 J# x) d) N' a: a
, ~3 @! k( z4 l; R& h6 g) K6 E
</P>< > - T& h% @' ^7 ^/ Q% l6 b7 I, ^: p
</P>< >Join
! i+ W0 f) z7 w- ^' J$ ?' O用途:
6 e. r0 L! h. _' j- ` </P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例: + k$ ? x! Y7 r' E3 W
</P>< >"Employees"表中的数据如下,(其中ID为主键): ! J' p" N5 Z( F
</P>< >ID ) Z) H; J* U, j3 L; @. t
$ c5 }/ z7 \3 F* u9 W. r8 m
Name : K9 K/ \- |9 T1 S
4 r6 P5 m/ K/ W# N0 ? 6 o" V, k: p9 O" `+ U( w
01
1 b0 A5 @* W$ R# `1 N
: Z7 b6 @" D1 J7 C k Hansen, Ola
/ D8 C- `* L K8 G$ g e( z2 r, l5 Q1 e- N; q- H; T4 ?" @ t
. A/ O2 E+ E1 ~02
5 s. A" L) W4 t j* P # [2 d" \. |8 B( `! t
Svendson, Tove
0 S* F% F( i) ^ ]* y " e1 K3 ?* N4 N- @4 N
1 L0 s I/ I8 c3 @9 b0 A
03
* c0 d# M7 z$ ~# w) l4 r + N! v; D/ f( X" ? S6 M' s9 t2 m
Svendson, Stephen : [% y' v, c7 M5 ?
$ b; U, J8 h2 l- m% B, `' {% [5 P
- g& R7 |6 o1 |) @04 ( K8 e( R! N% [( O
" h, b% R6 x' _& |' x! s( L
Pettersen, Kari " [5 o4 z1 q$ E; `2 n4 n
% _% ?+ M8 |7 e8 H1 N% G- ^* A
* Y8 I% d, w2 ^$ U" w"Orders"表中的数据如下:
" L+ P9 F* s# e; Z1 r6 N </P>< >ID
6 E9 g& V, |, U/ H
6 A' E+ w2 e U/ O& _' A Product % O* c" L* j# m3 a" B+ z
; ~2 N1 F9 U0 V 3 n J' j. ?0 c2 p3 G; `
01 s+ o" N6 y w
8 d2 Z: ^1 @% c; r' c+ E/ Y/ V
Printer * i- q" A/ M3 Y" r8 u; W& f6 F; a
2 e# P5 n7 a/ Q z1 ? f9 [ / ~$ b' [9 V0 I q0 L: b8 d, l' Y
03
# [: o6 f+ y! C% x3 Y + r. t3 p. j9 f
Table ! k3 j) c0 _' Q9 }! O
a0 H& D, l$ a- }7 l, C$ d
0 D2 P2 }' k/ G9 l0 P' C5 z3 e
03 6 V+ t; ^9 e9 p4 B9 v
( b' V3 N3 |- e' P Chair ( S. k% x8 P R6 y$ T% k
, u) Z8 V2 U7 ^5 h" A; Y
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product
) n! S% ]( _& A) G. p! eFROM Employees, Orders
) n0 R1 ~) O2 o/ ?, PWHERE Employees.ID = Orders.ID
% V$ U/ X+ |9 k9 d # {: p! g5 `4 Z( v$ \
返回结果:
+ t# g: E) Y: M4 y4 h/ _ C </P>< >Name 7 @% `/ J* x& S1 }
2 y, `& @& o* x1 e0 n6 N Product
7 l8 Q1 Z/ j+ d" d # b, ]* I1 p2 |* p' a$ ]8 a# q
' X" z3 B# t+ s; F# |9 T: |
Hansen, Ola
# d% r& l7 P! U& J D 1 h+ g% r0 t/ v7 H5 f8 t2 J
Printer % u2 N( M9 Q, y# E2 w2 w# N
0 y6 v# m, D: e6 X' W
% x6 C& I/ \1 h& ]& Q1 U) ^9 }Svendson, Stephen
; |+ U2 I8 b2 q$ v, l
/ u Y9 J- R" M+ Q4 s* E7 Y Table
- |; @, G. g/ {: a/ [ a, j - \3 w8 t2 e* I ]6 z) w
$ T2 M7 p4 ~3 @: `8 y7 QSvendson, Stephen 5 @; {5 \) e Q* \5 y3 g( ?3 N7 i# f
( T) z" j0 Z- O& a Chair
+ M8 @6 Q, }. }9 d, m3 z( q
, M$ Q: O6 z! s% S' I2 @ </P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
4 ^0 g; _2 v9 pFROM Employees
: ?( h0 P4 O8 l- A$ h# vINNER JOIN Orders 8 f$ C9 U& b% w9 N+ X! {; B y
ON Employees.ID = Orders.ID
G( ]2 A& J0 ^# ?</P> |
|