SQL查询语句精华使用简要(转)
上一篇 / 下一篇 2007-11-13 00:27:09 / 个人分类:数据库相关
一、 简单查询
A-RU7d5Ta-S+f#@09H+W MC3kX"ohyX153092 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。51Testing软件测试网r4gg*i]
T%fr8\Q"w153092 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段。
NMG7{7r5Z_!L0 SELECT nickname,email
PKfN}P*`%P
B1k;m0J'm8@x H_.m153092 FROM testtable51Testing软件测试网$A.sIDxyT/AA
(H}6{4z$EI&@&@0 WHERE name='张三'51Testing软件测试网;r4\-|7RfAUv
(一) 选择列表51Testing软件测试网}F$x"U4Yo e_2D
&e,M;VKd{)`Z,~&|(d0 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
yFoc8\]0rj2d9N lW8l^0 1、选择所有列
&TeGjB:C051Testing软件测试网j8z*d4n7H例如,下面语句显示testtable表中所有列的数据:51Testing软件测试网0@L._d3F9Z
51Testing软件测试网/| kP2{Bh3lM SELECT *51Testing软件测试网/d/tcb*~3j
`*n HU?I X0 FROM testtable
,{ C/H-m p fUy-D0 2、选择部分列并指定它们的显示次序51Testing软件测试网,g2fBckTl4^u
51Testing软件测试网r~lRaU*K ` 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
5JZ9rq\K0s0,OU/p4I)O(Ud153092 例如:51Testing软件测试网a,XW2vB \P E+c
)G i-qoD7@+X0 SELECT nickname,email51Testing软件测试网QP"`:fq51Testing软件测试网-JZ})ZZW\
FROM testtable51Testing软件测试网1r[uj+x
jk]!q
0go z3x1G%}&r.s~0 3、更改列标题51Testing软件测试网 T$NgE7oO6s
MS
G!XS2K8c2a0 在选择列表中,可重新指定列标题。定义格式为:51Testing软件测试网f'p$b#|"a#Xk51Testing软件测试网-t%q%~p$`sO
列标题=列名51Testing软件测试网*?.vS;Oi*W @'e'c
p*Q{`b;{
O0 列名 列标题51Testing软件测试网.ko IW.S
-]O@x2D@` z%?|s153092 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:
SELECT 昵称=nickname,电子邮件=email51Testing软件测试网Y1g'x/Z1[51Testing软件测试网
`0vhve
FROM testtable
4、删除重复行51Testing软件测试网_A[w2VY#x
51Testing软件测试网s i+z fW8ZX ^SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。
!N-fo5V$|3?0B mMAoOF3H0 5、限制返回的行数51Testing软件测试网@)Go1CS}4L} Dh ShG
51Testing软件测试网]Qteg B8S 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。51Testing软件测试网-|/VR0k(},e ME
|
@)iy|EZeVr153092 例如:
~2w W&l4~\;^&[0 SELECT TOP 2 *
WvW:tWb0g&v#t/?z`HPY3I(x%C153092 FROM testtable51Testing软件测试网9RrM-w&LC
4idM8MLF+aQ[0 SELECT TOP 20 PERCENT *
6\'e(X9x!Z0-L V] r Q u,[4[153092 FROM testtable
'gA"h W6yP:f/j%q`0 (二)FROM子句51Testing软件测试网+O v!y@c4x
7|JY)fH2_3i c0 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。
!v_[V
w'b7S-EZA07W }9y+?_153092 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:
[*S'iBG0iDU9T0 SELECT username,citytable.cityid
(i@
U:uX7ah*dTL07M4Ueh/kzH5y:?153092 FROM usertable,citytable