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

SQL查询语句精华使用简要

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
一、 简单查询 (*@~HF,t=  
  简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 $T@xnZ  
:D)&>{?  
  例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 M`f;-  
%)!~t8To  
  SELECT nickname,email RI< Yg#   
  FROM testtable gEe W1:AB  
  WHERE name='张三' ]f+D& qZ B  
:7AauoI  
  (一) 选择列表 mqfEs0~I  
D=Yag!1  
  选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 ](( >i%%~  
&bRxy`ZH  
  1、选择所有列 k}owEBsn}  
uR[PKLh  
  例如,下面语句显示testtable表中所有列的数据: I'wk/  
znDtM1sLeV  
  SELECT * rSFXchD/  
  FROM testtable ~dX@5+Gd  
NU 6Kh7  
  2、选择部分列并指定它们的显示次序 L M<=j  
js$a^6  
  查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 "$wPq@  
u{dN>}{  
  例如: Y+5A2Z)f[  
#+5mpDh  
  SELECT nickname,email )}g4Rvr  
  FROM testtable *p<5(-J3  
g{f>j d  
  3、更改列标题 [OToz~=)  
Z6 |'k:R8  
  在选择列表中,可重新指定列标题。定义格式为:  ]9l%  
`0i}}Zo  
  列标题=列名 @=| b$E  
  列名 列标题 PX>\j&  
%A Du[M.  
  如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Bo\dt@0;  
R<YYf^y  
  SELECT 昵称=nickname,电子邮件=email '%r@D&*vp  
  FROM testtable d?+oT0pCH  
4、删除重复行 )*AA9   
  SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 lPSDY&`P  
i(qYyO'  
  5、限制返回的行数 C%7,#}[U/  
i{x0#6_Y  
  使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。 %}AY0fg?T  
WoT z'  
  例如: FT?1Q'  
IgnY* 2FT  
  SELECT TOP 2 * 7Mb t*[n  
  FROM testtable >rX R;4%  
  SELECT TOP 20 PERCENT * Nb, H8;  
  FROM testtable &_x/Dzu!z  
_nCs$ U  
  (二)FROM子句 !/lY q;$R  
o_^d>Klb8  
  FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 af5`ktx  
_=M'KCL*)  
  在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: sYW)h$p;D  
mZJzBYM)  
  SELECT username,citytable.cityid 5x'y{S<  
  FROM usertable,citytable 9%k.GE  
  WHERE usertable.cityid=citytable.cityid OU5|m%CmO  
  在FROM子句中可用以下两种格式为表或视图指定别名: 7 QJcRZ[lU  
:^L]Da3  
  表名 as 别名 SG o:FG  
  表名 别名 $Lbe5d?\  
8q LgB  
  (二) FROM子句 U[ungvU1U  
|MR?8A^"  
  FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 F0(Sv\<::  
eBRP%<=>D  
  在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 2%yJo7f$[  
;GE u.PdxB  
  SELECT username,citytable.cityid h*LL(ow5  
  FROM usertable,citytable <R8Z[H:bV  
  WHERE usertable.cityid=citytable.cityid t'/;Z:  
  在FROM子句中可用以下两种格式为表或视图指定别名: _o"3gfH&sJ  
e*Med)tc^$  
  表名 as 别名 wef^o"aP  
  表名 别名 NS~knR\&  
  例如上面语句可用表的别名格式表示为: .qPfi] ty  
{!?RG\EYN  
  SELECT username,b.cityid pNWp3+a'  
  FROM usertable a,citytable b @{a-IW 3  
  WHERE a.cityid=b.cityid _Cs}&Bic_  
T/6=A$4 #  
  SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 TmZ[?IL,  
oVsazYJ|?  
  例如: ,(=]6V  
aM}"DY-_ h  
  SELECT a.au_fname+a.au_lname vj$ 6  
  FROM authors a,titleauthor ta A)\DPLAG  
  (SELECT title_id,title 0qUap*fvC  
D8{HOv;d^  
  FROM titles W)~.o/;  
  WHERE ytd_sales>10000 %$KO]   
  ) AS t A>2p/iMc  
  WHERE a.au_id=ta.au_id JU.%;e7  
  AND ta.title_id=t.title_id z$5C(!)  
  此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
描述
快速回复

您目前还是游客,请 登录注册
欢迎提供真实交流,考虑发帖者的感受
认证码:
验证问题:
10+5=?,请输入中文答案:十五