一、简单查询 :_xfi9L~W0
(x\VGo
简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 rqp]{?33
iF
+@aA
表或视图、以及搜索条件等。 }=\?]9`
CV=qcD
例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 f|_\GVW
<@GO]vY
SELECT nickname,email 2?6]Xbs{
xR
kw+
FROM testtable j
`!Ge
g yV>k=B
WHERE name='张三' 'wYIJK~1
v,*C>u\3s
(一)选择列表 :JX2GRL4
i5Sya]FN
选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变 :
qK-Rku
e
T;@pc
量和全局变量)等构成。 EqtL&UHe
R{Zd ]HT
1、选择所有列 s I\-0og
f@Jrbg
例如,下面语句显示testtable表中所有列的数据: ?M|1'`!c8
{irc~||4
SELECT * &b^~0Z
l"+8>Mm
FROM testtable QnP3U
%x{kd8>u!
2、选择部分列并指定它们的显示次序 hQY`7m>L
`V<jt5TS
查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 gd7r9yV
_#r00Ze
例如: O9>$(`@I
VJTO:}Q
SELECT nickname,email '@@!lV
$+n6V2^K)7
FROM testtable `)cH(Rj
iSoQ1#MP)2
3、更改列标题 XKws_
u;t~
z
在选择列表中,可重新指定列标题。定义格式为: Z|x|8 !D
,m]5j_< }
列标题=列名 Bf#cBI
R3a}YwJFXF
列名 列标题 ^Y+C!I
*{+{h;p
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 eBxm
E X'PRNB,
标题: a9p:k
]{
! #!
MTk
SELECT 昵称=nickname,电子邮件=email 6YNL4HE?
qF`6l(
FROM testtable >l AtfN='
_h#I}uJ~
4、删除重复行 TvDC4tm-:
kD;pj3o&"2
SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 g6lWc@]F
AnX<\7bc}
为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 ZfqN4
6MY<6t0a
5、限制返回的行数 hchG\i
m#8[")a$"
使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 vaP`'
MA:5'n
表示一百分数,指定返回的行数等于总行数的百分之几。 /; Bmh=
UsFn! !+
例如: o.fqJfpj
m Rw0R{
SELECT TOP 2 * ~I+MuI[
s^eiym P
FROM testtable YcDKRyrt
njX$?V
SELECT TOP 20 PERCENT * r)}U
'iv*%
T#3@r0M
FROM testtable 0&]1s
zM=MFKhi ~
(二)FROM子句 UWKgf? _
T{3nIF
FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, r*l3Hrho~K
^c.D&