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

我的地盘我做主
该用户从未签到
|
< >Having8 Q6 T: D: g( w5 T) ~
用途: . ?9 ?8 h4 l9 z! q# y
</P>< >指定群组或汇总的搜寻条件。</P>< >语法:
|, s/ P2 T- |5 ~, K, P! g3 F </P>< >SELECT column,SUM(column) FROM table 2 T5 p! X0 a9 y1 h! I
GROUP BY column 9 I0 x0 l* g, i
HAVING SUM(column) condition value
9 |( d% j M, d% W & Y8 C* W& K3 {, Y& b3 |" ~ C! n
解释: * ?2 u- z; g0 X0 S8 r
</P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
) r% ^, Z7 f" R8 g6 G </P>< >例:
2 V" D6 p5 r) r% k: U8 X/ g* v0 G </P>< >"Sales"表中的原始数据: ' e, G" h2 U2 y6 J6 B3 G9 q( e3 L: w
</P>< >Company
- i0 v: c' {6 }8 Q) l/ M 0 t- I- d5 J6 E
Amount
1 c2 t( C2 B1 r% j+ L" U! x& s% U
, d6 H, M- J3 a. c. M
7 T5 b" r5 O6 l, [) [W3Schools ; Q; A. K* @# Y: n. m y# b
" \8 n- N7 R$ b! F: P3 E
5500 ) Z: G( s# L5 A; ] W4 E* Q
& L1 X; k W/ x. o. s/ U) `8 a 7 `5 m% j% N7 n0 P& N! B/ ~
IBM # b$ X) \5 l+ ~6 o' ]3 h4 q
, ]& F- g+ z. f1 T% Z1 `2 V! e/ O" _
4500
3 X! Y8 @. y2 p, I 1 M! `: C& a% i
, K. m6 n \9 k& O: I2 ?
W3Schools o+ ~) t/ ]8 t J9 ~
U' z- `+ I6 M! m* Y 7100
% b. Y6 m! e6 |' i* i
0 ?3 r5 g& h7 F </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales - q8 r; \; Q5 k; W, G
GROUP BY Company HAVING SUM(Amount)>10000 + N" E8 l/ J2 H9 g% D
</P>< >返回结果:</P>< >Company : L5 Z% l5 M, A: r
2 |% R* q/ p1 _& P& s: g- F. Q) Y
SUM(Amount)
3 X# w( c4 y+ e0 s3 Y0 W9 M: J2 D " z3 W3 x1 Y, P% S4 ?
2 r3 m9 H' s- X5 Q* hW3Schools
* Z# P/ Q" B3 s9 X. C* ? " j: D* o0 Q8 L. ?
12600
7 y4 C! l6 s5 U 2 I, B( d8 @# Q8 W2 E: A7 }8 i
5 q" \! | J+ D c5 J
. V: \3 F' X4 M' v. x, U* ` </P>< > ' n7 O: Q. N1 r% |' \0 t6 G# Y
</P>< >Join2 ]% A/ D* |4 i! G& F$ \ F. e* Y
用途:
& C; ]$ J# D8 y3 M1 ?% S </P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例: , H3 J- I$ K. P1 n
</P>< >"Employees"表中的数据如下,(其中ID为主键):
6 V( s9 h' W% y! V, _& S* _) z$ p </P>< >ID
" i+ j. }2 B0 c $ J! _% Y- ^/ l3 X! E! S
Name
1 r, H% G% X4 |. A; l" V3 C 1 G% \9 I+ ]* [* Z) g& C4 e/ U
2 n0 G( @) L! ]01
& l* \. g I& d
! q0 }" n/ K4 C! G' n8 \) L1 Y Hansen, Ola
& w4 ?$ w8 c* W2 K) Y" N, y
, Y3 K0 f+ c+ ^4 k ) Y; R9 y% [$ E& H9 j
02 : K5 s7 ]2 b3 e9 I& G3 R
4 g; l! S) u# J7 e' v7 S/ W2 c; B" T Svendson, Tove ; J _8 b2 B" P, ?8 z* c
: a. C" O9 u% V& Q* b ) u8 f. H" Q( w1 T
03
) x" b4 [; N9 o5 J2 u
+ \$ G5 |, L* J0 k* j4 o, [6 ~7 B3 H! { Svendson, Stephen
( T2 c; c( D! u0 o. f
3 k: s! s' l! ^6 B1 w* a9 L- p
. x0 ]( y. z# W04 8 ?- a7 F. ~1 C ~+ \( _2 E( {
1 L; M9 C' x3 M: |8 |! ]6 \( Y
Pettersen, Kari
: h* @6 ^0 D5 M: T% S r
3 x2 e F7 w& B& k4 \( w
+ s' j, l/ c5 \+ r( b- r"Orders"表中的数据如下: * P+ m0 Y) [$ w5 z7 C. ?
</P>< >ID
% E3 b0 q [: z7 Z" C& ? & m w- |1 D8 T; _
Product
4 u; }, I$ [" l" T* z2 p( v ; s3 c# @/ R. |8 ^9 F% L" j
& j& v: o4 W# c' {# ~
01 " e$ Y0 U6 ]7 z8 S0 B* _
! N6 M) I# n, ^+ t0 t; o
Printer
8 ?, V5 x1 g# s! {2 ~
0 {. M4 B- t9 e+ m j * H" n% f, S; c( h
03 * J4 c& W' ~( Y) x' `& p1 K$ r7 M
1 G1 R( s3 f4 m5 f6 M Table
+ ^1 u3 Z: U3 q
# S9 F) Z, _- p
. D9 e) L& ?" t5 @03 ; ~1 J; |7 S3 O& d' m ]7 r2 G
. }0 Q5 f$ p6 v9 b0 [. q
Chair 8 V# ^! t6 s! }7 n l
1 W, {9 \3 o( q0 P' ]
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product 0 ^+ G1 k: M- P& U7 O
FROM Employees, Orders # E, Z2 ?/ {+ D; `$ ~0 ?1 q% ]
WHERE Employees.ID = Orders.ID
; Z4 i- F4 P. G; _, f
% ^' c# A! i& n8 Q4 A返回结果: - c/ r3 a5 s2 @" s, W
</P>< >Name
8 c/ P4 p" P: v
1 x* F' s, _' p& e1 B1 G Product 8 i: _6 ] `" G+ S
+ g& X1 j& Q+ [: H6 n# V L 7 T! ^5 ?" T( l# A
Hansen, Ola
5 p% k/ n" v4 t, \$ }9 I9 E 1 r- R, N1 n) X5 z S* v
Printer ' n* I9 @/ {" Y' E" T0 Z
0 M: x5 A2 A- w% [2 ]. | U/ A9 y" L. l1 z( |$ `
Svendson, Stephen
+ N( ~( z0 {. Q/ F( c; b; P) d
; v# h U0 j# _7 l( d Table 5 T0 c; @. I; `1 p% U7 T0 K& R$ Q
, T- k# H( ~. V' w3 k% e5 c
4 P9 ~# t/ W) C- w7 `9 O
Svendson, Stephen . r3 t6 n ^, A7 G, A
0 P! V, w7 b+ z8 i; }" U% t7 o9 n
Chair : R2 ?, ?" j1 S3 s
' M+ M, w3 y5 O3 E; v# O8 V( d$ E5 n
</P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
6 } t6 L, G) YFROM Employees ) `( X# W$ W' U! Y8 \- l, q: }
INNER JOIN Orders
( l U6 f; k$ R$ H) YON Employees.ID = Orders.ID
2 Q6 t, e/ s! g8 |( r9 m, I</P> |
|