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

我的地盘我做主
该用户从未签到
|
< >Having
! z1 `( M, C2 M+ k用途:
% J( ?, e2 A1 ~ </P>< >指定群组或汇总的搜寻条件。</P>< >语法:
8 f3 _2 v6 M% H# s D+ Y+ e# ^ </P>< >SELECT column,SUM(column) FROM table
! T$ {5 y! B4 A# t& `GROUP BY column $ a- r; p: @; o2 M# z. \
HAVING SUM(column) condition value
* q7 d% C4 Q' M; ^) [ c; E 2 h" ]8 h2 U: x8 E
解释:
" A. c) S1 _. b5 i$ m) Y% Y </P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。 ) e, {0 b# K8 |' n6 n2 q4 r
</P>< >例: . H1 y8 c* H: P l
</P>< >"Sales"表中的原始数据:
% v U, ~4 [& o, S; |& A3 d; w+ A </P>< >Company ) A3 i& z9 u2 [
& H1 P. F" _4 L7 p& ^. | Amount
2 A; w2 h1 ]; y& l! M. A% f
. J; |/ I7 J$ R: ?
; A3 d' ]1 z* x7 A3 e. _. K# eW3Schools 8 d: V" A0 `7 I
& y, a. J9 [% x* \2 h 5500
* m" ]3 ~, W K- Q( W, _4 A
/ A( V6 K3 f8 n2 q5 [2 @ 6 N$ m- P" g: z9 _5 f
IBM ' T, f6 R2 x; B) B7 l: z( K: W1 F
. [: I3 L/ O8 i; W+ f
4500 * t( c+ s$ g' }
- x9 T. u2 _' v& ?" P
" a& ?: y- x# E/ k4 T9 s2 R+ F2 }# MW3Schools # u2 d& Y! g4 T9 l. U; W! F
% C6 {- o2 o+ h9 Q/ i3 l( O
7100
! A' y3 p( j8 D
0 R& M* H( Q& N5 l7 }' A% B </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales 1 a& ?+ I; I3 `8 s% E _+ P
GROUP BY Company HAVING SUM(Amount)>10000 - }+ G: J9 U: Q9 a- E! N' |/ U
</P>< >返回结果:</P>< >Company & Y( H* z8 v& W& @& f+ O* {
$ _( r& }5 ~2 r
SUM(Amount)
$ _9 G6 I/ X% M/ w , M2 S6 i5 ]! m0 n s v" a5 j4 d
; m/ p/ _" G y6 r! T
W3Schools - Q4 u9 D: w6 ?) R; x8 N, k
) X! [& m, l$ u0 Z2 [+ U! b: e
12600
. W7 C# U7 S4 @/ a5 S3 f ! b, D/ I' x8 J0 o9 b2 _. ]
5 `7 w* C: H% |& r* R V
& x! W5 k5 `" B4 `" _- q5 v </P>< >
: z/ U! @- N, n3 T" Z4 K+ q </P>< >Join+ n" E! [6 X8 p+ ]
用途:
0 T9 t$ A5 Y+ s) J% S. G </P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例:
5 D$ U" G5 j* }( M7 w </P>< >"Employees"表中的数据如下,(其中ID为主键):
* {( r: E5 L' q9 h. V$ D; Z </P>< >ID ; ?: K7 p; q7 a+ J5 H4 O7 _4 v
6 Y7 f, G! h3 g! k! U Name
# A6 W% I3 u' ^5 A ( ~1 ]5 `5 ^1 X
7 a! `5 G9 W, l7 [( B) t01 & x( @5 g( s( I6 P8 y, a
9 u3 R. p6 a8 z Hansen, Ola ) n( T6 j* z8 R' Q; H
2 |* Y/ m" c6 P5 `
. I: X* C5 Z2 i g' ?% c# d02
! Q( o* Z6 y" z% n+ h 3 B5 e' H" U- T, \5 |5 r
Svendson, Tove ?' d' u! N% s. R8 d
) X* L8 j8 b5 j" D# c
- L/ W* k* U8 p( \5 ~* x# ?0 P1 i" S03 8 C) z' ?1 @/ Z$ L0 A
5 N9 k' E: b) h2 T! Q! L3 u1 x Svendson, Stephen
, G3 A( q5 N6 t6 s ; @( M: W% A: P* b7 u
7 r+ h M3 e& P# j+ {5 C
04
: m+ E5 e6 \; X
) U. K+ Q" e4 r8 M0 E- o8 Z4 J Pettersen, Kari / n T2 V7 m. R' \. r$ T9 x
/ g0 I2 I0 Q I9 @: b( x$ g. \5 Q - e( k, Y \5 K4 _) D# U
"Orders"表中的数据如下:
& k& B& T& L4 L2 o- M4 [: q- W </P>< >ID / [1 N3 _4 ~! [7 l: r
$ g2 K; E9 _5 k7 x5 f6 U% H; g6 z
Product ( e( G3 E/ |# _+ W0 ?) F
# U4 q. L1 D/ j* b/ {. n
$ m# i' Y* U$ d) K6 Z01 0 y! w' ]3 v6 ]$ q( y
* d0 ?" `, b( {( e5 O8 Q4 i% t Printer
/ f* ?$ P1 d9 B2 R6 W
- N: }0 c; x8 k# _
7 A; I5 k [" v* A' }03 ^( r) B6 F9 e; f, D0 a
b' M, [6 j* D, z* ?2 } Table
4 ~6 O0 R: N" E, m + q* o1 I: L, x% h) v
% f9 x0 U8 a' l) \8 E% |, J3 J, H
03
* b7 K( C E6 g4 m" G( T4 T
4 j H5 e. V+ D4 \7 n Chair
! q' `- \* }* y! @9 c 8 C7 ]' D3 k( O5 c' g( f
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product " Q7 {. O1 |% C
FROM Employees, Orders / y# V7 |9 {4 D# T: j
WHERE Employees.ID = Orders.ID
9 \. d/ O5 V! Z, ^$ d; v: r
6 W7 M* h% _" {* T& J2 p [4 d6 s" s) B# ^返回结果: 6 U) ~5 `8 j4 w
</P>< >Name
- o1 i" _/ |) ^& a. w: F
- Y, M$ E4 Z$ s, t7 I% Y Product
" A# \7 |( u, ^- Q
, r, I) _6 y- T r @8 K $ A! U( P1 Q# f7 n% l. \! e
Hansen, Ola
( s f9 _$ S M0 C , k5 \6 D! I0 O% c# B" d
Printer
7 r4 I& @* P- N8 N! I % M# u$ J) w1 j! H4 w7 `
: U; x* }) e* ~/ USvendson, Stephen
9 v/ \; `* ~& P3 W) v
& q$ `, B' O* M+ | Table
+ K3 `+ y$ X- L8 v7 F$ v6 W C! b7 X2 M& E7 y1 n( i* m2 a7 t
0 d7 B0 q; v# ^ Z
Svendson, Stephen ( C4 J2 `) q" O3 R! ]
2 I" a4 {) b! V+ }) `! J
Chair 3 [- v+ G# v7 T# P, ~$ R
( {9 O7 {' f) ~. E; q
</P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
2 s, x' L/ d# K6 T' _0 fFROM Employees
; @/ _8 p1 p' v: z, WINNER JOIN Orders
0 `& @' M2 L& k, n- zON Employees.ID = Orders.ID & n0 [ ^1 j% _5 o' r9 W% P' d
</P> |
|