一、简单查询 RLf-Rdx/
Oti;wf G7o
简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 O/eZ1YAC
CVO_F=;
表或视图、以及搜索条件等。 5 3pW:`
:>!-[hfQ
例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 L;:|bVH
%Z6Q/+#fn
SELECT nickname,email 'bbw0aB4
]*NYuEgc
FROM testtable u-~ec{oBu
{/noYB<;
WHERE name='张三' 1e\cJ{B
NLZ5 5yo$
(一)选择列表 |-JG _i
:uYZ1O
选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变 gb,ZN^3<-
o?ug`m"
量和全局变量)等构成。 J *LPv9)
:[@rA;L
1、选择所有列 j+3\I>
0=,Nz
例如,下面语句显示testtable表中所有列的数据: aH;AGbp
{
{?-&
yA
SELECT * B-g uz[v
h`U-{VIrqi
FROM testtable O#.YTTj
R.i]6H!
2、选择部分列并指定它们的显示次序 v,n 8$,
DWtITO>
查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 >!5RY8+
q=^;lWs4
例如: L%H\|>k`
QE/kR!r
SELECT nickname,email 4evN^es'I_
{zZ)JWM<w
FROM testtable $mK;{9Z
6}Y==GPt
3、更改列标题 8$c) ]Bv
wMkHx3XD
在选择列表中,可重新指定列标题。定义格式为: h,y_^cf
C'@I!m._i
列标题=列名 kmW/{I9,ua
io\t>_
列名 列标题 :UT\L2 q=
%V;*E]
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 nYyKz
Rz
}\m.~$|[
标题: B _ J2Bf
WCY._H>|
SELECT 昵称=nickname,电子邮件=email 0++RxYFCL
.0,G4k/yv
FROM testtable 2iKteJ@h)
u~,hTY(%
4、删除重复行 4,@jSr|I3i
v~x`a0
SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 p+ReQ.5|
cRs\()W
为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 s5v}S'uO{
<FR!x#!
5、限制返回的行数 uo?R;fX26
yOD=Vc7i
使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 KtJc9dnX
s/t,6-~EH
表示一百分数,指定返回的行数等于总行数的百分之几。 IJ5'n
7[ n
|3
例如: >KQ/ c
> {d9z9O
SELECT TOP 2 * $ r-rIW5\
;9#%E
FROM testtable 'k}w|gNB
Hi2JG{i
SELECT TOP 20 PERCENT * _s<BXj
n gJ{az
FROM testtable ,Y|
;V
fg,vTpBk
(二)FROM子句 Y_C6*T%
+_ 8BJ
FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, NZG
^B/
A:4&XRYZY
它们之间用逗号分隔。 i"+TKo-
-ert42fN
在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 'xG{q+jj'
[uJS.`b
所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应 w`<