社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 社区论坛任务 迷你宠物
  • 3492阅读
  • 0回复

SQL查询语句精华使用简要

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
一、 简单查询 &.=d,XKN  
  简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 _"a(vfl#  
ePIBg(  
  例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 6}x^ T)R  
`\q4z-<-  
  SELECT nickname,email f>waF u-  
  FROM testtable h}z^NX  
  WHERE name='张三' 8 8pz<$  
i{T0[\4  
  (一) 选择列表 "KW\:uc /  
;r- \h1iA'  
  选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 >B skw2  
)`-9WCd&  
  1、选择所有列 mV`Z]-$$i  
4'Vuhqk  
  例如,下面语句显示testtable表中所有列的数据: > g8;x#  
E} Uy-  
  SELECT * /_x?PiL  
  FROM testtable YqR MVWcnk  
)f(#Fn  
  2、选择部分列并指定它们的显示次序 h k(2,z  
$62ospR^Y  
  查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 /Kwo^Q{  
g?^o++  
  例如: +X cB5S>  
F{]dq/{  
  SELECT nickname,email <z%zz c1s  
  FROM testtable lb{*,S  
jp=^$rS6[  
  3、更改列标题 e]uk}#4  
JT[|l-\zo  
  在选择列表中,可重新指定列标题。定义格式为: @]Iku6d-  
~hE"B) e  
  列标题=列名 u{ JAC!  
  列名 列标题 i)+@'!6  
iW-w?!>|m  
  如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: <3O>  
asj^K|.z  
  SELECT 昵称=nickname,电子邮件=email %$`pD I)  
  FROM testtable yGZb  
4、删除重复行 e DX{}Dq(  
  SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 Rzj5B\+Rk(  
_+ oX9  
  5、限制返回的行数 zK k;&y|{  
jGb+bN5U7  
  使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。 rzLpVpTaz  
-+Kx^V#'R  
  例如: _j}|R(s*+V  
-PB m@}*  
  SELECT TOP 2 * <^ @1wg  
  FROM testtable flVQG@  
  SELECT TOP 20 PERCENT * ou6yi; l%  
  FROM testtable ]A5FN4 E  
+a"MSPC4w  
  (二)FROM子句 L'H'E,  
9=ns.r  
  FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 t}c ymX~  
M// q7SHh  
  在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: )ra_`Qdcf  
t*NZ@)>  
  SELECT username,citytable.cityid k_ UY^vz.  
  FROM usertable,citytable 4~P{H/]  
  WHERE usertable.cityid=citytable.cityid L1VUfEG-  
  在FROM子句中可用以下两种格式为表或视图指定别名: ?y>P  
r0+lH:G*q  
  表名 as 别名 [v^T]L  
  表名 别名 B~D{p t3y  
)U`6` &F  
  (二) FROM子句 3PIZay  
Q0#oR [(  
  FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 ,5mK_iUw3  
g1@zk $  
  在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: SGXXv  
]e$mTRi*  
  SELECT username,citytable.cityid |cEJRs@B  
  FROM usertable,citytable hxP%m4xF +  
  WHERE usertable.cityid=citytable.cityid aqQ YU5l4~  
  在FROM子句中可用以下两种格式为表或视图指定别名: cV\(Z6u  
@i'RIL}  
  表名 as 别名 ^ r-F@$:.  
  表名 别名 !TA6-]1  
  例如上面语句可用表的别名格式表示为: EcxPbRg  
yS^";$2Tc  
  SELECT username,b.cityid GbUw:I  
  FROM usertable a,citytable b DJVH}w}9_P  
  WHERE a.cityid=b.cityid (dd+wx't  
 0w>V![  
  SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 ]P;uQ!  
cfBq/2I  
  例如: 5^<X:1J$  
)r3}9J  
  SELECT a.au_fname+a.au_lname 2&MIt(\-  
  FROM authors a,titleauthor ta Ebw1 %W KC  
  (SELECT title_id,title sD H^l)4h  
b#`XmB  
  FROM titles ~b}a|K  
  WHERE ytd_sales>10000 Y~gDS^8  
  ) AS t 9>yLSM,!rS  
  WHERE a.au_id=ta.au_id ~P8 6=Vw  
  AND ta.title_id=t.title_id /j/,@,lw7z  
  此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码:
验证问题:
10+5=?,请输入中文答案:十五