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

SQL查询语句精华使用简要

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
一、 简单查询 CWM_J9f  
  简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 ~ ^) 4*@i6  
EB[B0e 7}  
  例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 lag%} ^  
^es/xt  
  SELECT nickname,email TllIs&MCe  
  FROM testtable O\)rp!i  
  WHERE name='张三' A\~tr   
<5l!xzvw  
  (一) 选择列表 ,{{Z)"qaH  
M`.v/UQn  
  选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 {~eVZVv  
%n>*jFC  
  1、选择所有列 @ykM98K  
I0C$  
  例如,下面语句显示testtable表中所有列的数据: [V.#w|n  
)nA fT0()0  
  SELECT * Ct30EZ  
  FROM testtable h$q=NTV  
~!TRR .  
  2、选择部分列并指定它们的显示次序  #Up X  
5<L+T  
  查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 <LA!L  
2$gOe^ &  
  例如: O{nM yB  
I]Jz[{~1  
  SELECT nickname,email D]$X@2A  
  FROM testtable o"@GYc["  
jsnk*>j  
  3、更改列标题 ayoqitXD?  
1A-ess\  
  在选择列表中,可重新指定列标题。定义格式为: R3gg{hQ  
\v[?4 [  
  列标题=列名 YVB\9{H?  
  列名 列标题 ld/\`s[i  
1<d|@9?9`  
  如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: 7.`:Z_  
 a 9f%p  
  SELECT 昵称=nickname,电子邮件=email  oN7JNMT  
  FROM testtable y(0";\V  
4、删除重复行 IJV1=/ NJW  
  SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 '"14(BvW  
5t~p99#?  
  5、限制返回的行数 'J"m`a8no  
E]j2%}6Z%  
  使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。 \dw*yZ^  
QIZbAnn_  
  例如: D "9Hv3  
gl~>MasV&  
  SELECT TOP 2 * mu}T,+9\  
  FROM testtable t^-yK;`?q:  
  SELECT TOP 20 PERCENT * \w\{x0u  
  FROM testtable Ju.B!)uS#  
WaYT7 :  
  (二)FROM子句 +Q6}kbDI  
1Ydym2  
  FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 maR5hgWCHe  
[<p7'n3x  
  在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: DKxzk~sOM  
XK t">W  
  SELECT username,citytable.cityid ts3BmfR?  
  FROM usertable,citytable Km9Y_`?  
  WHERE usertable.cityid=citytable.cityid yYM_  
  在FROM子句中可用以下两种格式为表或视图指定别名: XF 8$D  
YFY$iN~B,  
  表名 as 别名 0755;26Bx  
  表名 别名 WN%KA TA  
7BDRA},o  
  (二) FROM子句 ?XNQ_m8f  
*iVCHQ~  
  FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 W bW@V_rr  
bhWH  
  在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: WYklS<B[  
]5}C@W@_  
  SELECT username,citytable.cityid 46cd5SLK  
  FROM usertable,citytable DYKJVn7w  
  WHERE usertable.cityid=citytable.cityid 'Bv)UfZ  
  在FROM子句中可用以下两种格式为表或视图指定别名: 1hn4YcHb  
!9knF t43  
  表名 as 别名 O>j_xW]V  
  表名 别名 <i(<|/ $  
  例如上面语句可用表的别名格式表示为: ` kG}NJf  
J` J^C  
  SELECT username,b.cityid kt*""&R  
  FROM usertable a,citytable b  8DsXw@o  
  WHERE a.cityid=b.cityid 1IRlFC  
Zw`vPvb!  
  SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 {q-<1|xj/J  
"Wz#<! .r  
  例如: . w_oWmD  
F qW[L>M'  
  SELECT a.au_fname+a.au_lname R|Lr@k{6+r  
  FROM authors a,titleauthor ta 05cyWg9a  
  (SELECT title_id,title - s,M+Q(<  
U3f a *D  
  FROM titles =6sL}$  
  WHERE ytd_sales>10000 Pgg\(D#X`  
  ) AS t ub0uxvz  
  WHERE a.au_id=ta.au_id 5}uH;E)4  
  AND ta.title_id=t.title_id ?4 fXCb]7  
  此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
描述
快速回复

您目前还是游客,请 登录 或 注册
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
认证码:
验证问题:
10+5=?,请输入中文答案:十五