(精品)SQL知识-SQL2005子句.ppt
《(精品)SQL知识-SQL2005子句.ppt》由会员分享,可在线阅读,更多相关《(精品)SQL知识-SQL2005子句.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 SQL内部培训内部培训第二天第二天更多信息请登陆:http:/4006343551用友软件核心合作伙伴http:/ 总体内容介绍总体内容介绍SQL 中的子句中的子句表的联合表的联合子查询:内嵌的子查询:内嵌的SQL 子句子句操作数据操作数据 SQL 中的子句中的子句WHEREWHERE子句子句SELECT Tab1.name,Tab2.id FROM Tab1,Tab2 WHERE Tab1.id*=Tab2.id From tab1 as a,tab2 as b SQL 中的子句中的子句 ORDER BY ORDER BY order_by_expressionorder_by_expre
2、ssion ASC|DESC ASC|DESC ,.,.n n Select Select From From Where Where Order by Order by SQL 中的子句中的子句 Group by 子句 GROUP BY ALL group_by_expression ,.n WITH CUBE|ROLLUP 查询存货明细表中仓库01中存货010201所有的入库数量USE ufdata_888_2004SELECT cwhcode,cinvcode,sum(isnull(iainquantity,0)as iquantityFROM ia_subsidiaryWHERE cw
3、hcode=01 and cinvcode=010201GROUP BY cwhcode,cinvcode SQL 中的子句中的子句下面是结果集:下面是结果集:Cwhcode cinvcode iquantityCwhcode cinvcode iquantity-01 010201 560.0(1 row(s)affected)SQL 中的子句中的子句HAVING HAVING 子句子句HAVING 使用使用 HAVING HAVING 子句选择行子句选择行HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索
4、条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。查询出仓库01中,所有入库金额超过1000000的存货的入库数量USE ufdata_888_2004 SELECT cwhcode,cinvcode,sum(isnull(iainquantity,0)FROM ia_subsidiary GROUP BY cwhcode,cinvcodeHAVING SUM(isnull(iainprice,0)1000000 SQL 中的子句中的子句下面是结果集:下面是结果集:Cwhcode cin
5、vcode iquantityCwhcode cinvcode iquantity-0403011100.0040303850.00403061220.0040308700.00403091350.00403101540.00403112180.00808017000.008080214000.00808033000.0 SQL 中的子句中的子句以下是没有聚合函数的 HAVING 子句的示例。查询存货明细表中供应商编码以03开头的各存货的采购入库数USE ufdata_888_2004 select cvencode,cinvcode,sum(isnull(iainquantity,0)as
6、iquantityfrom ia_subsidiary where cvoutype=01group by cvencode,cinvcodehaving cvencode like 03%SQL 中的子句中的子句下面是结果集:cvencode cinvcode iquantitycvencode cinvcode iquantity-030190101017000.800000000000203019010102176.42000000000002030010101033520.0030040101035216.0030050101055216.0030080101052380.003002
7、0101078821.003006010107120.00300601010880.003015010109165.0030150101109161.0030100101128879.0030100101139021.003015010114445.00301501011575.003013010116635.003013010117365.0030130101182995.0030150301125.0 SQL 中的子句中的子句如果HAVING中包含多个条件,那么这些条件将通过AND、OR或NOT组合在一起以下显示的是存货明细表中供应商编码以03开头并且入库数量超过3000的各存货的采购入库
8、数USE ufdata_888_2004 select cvencode,cinvcode,sum(isnull(iainquantity,0)as iquantityfrom ia_subsidiary where cvoutype=01group by cvencode,cinvcodehaving cvencode like 03%and sum(isnull(iainquantity,0)3000 SQL 中的子句中的子句ORDER BY 可以用来为查询的结果按某种顺序排序(默认为升序)下面的示例显示使用 ORDER BY 子句将查询返回中的行按日期进行降序排序:select cwhc
9、ode,cinvcode,dvoudate,sum(iainquantity)as iquantity from ia_subsidiary where cvoutype=01group by cwhcode,cinvcode,dvoudate order by dvoudate desc SQL 中的子句中的子句理解应用理解应用 WHEREWHERE、GROUP BY GROUP BY 和和 HAVING HAVING 子句的正确序列对编写高效的查询代码子句的正确序列对编写高效的查询代码会有所帮助:会有所帮助:WHERE WHERE 子句用来筛选子句用来筛选 FROM FROM 子句中指定的
10、操作所产生的行。子句中指定的操作所产生的行。GROUP BY GROUP BY 子句用来分组子句用来分组 WHERE WHERE 子句的输出。子句的输出。HAVING HAVING 子句用来从分组的结果中筛选行。子句用来从分组的结果中筛选行。SQL 中的子句中的子句对于可以在分组操作之前应用的搜索条件,在 WHERE 子句中指定它们更有效。这样可以减少必须分组的行数。应当在 HAVING 子句中指定的搜索条件只是那些必须在执行分组操作之后应用的搜索条件。SQL Server查询优化器可处理这些条件中的大多数。如果查询优化器确定 HAVING 搜索条件可以在分组操作之前应用,那么它就会在分组之前
11、应用。查询优化器可能无法识别所有可以在分组操作之前应用的 HAVING 搜索条件。建议将所有这些搜索条件放在 WHERE 子句中而不是 HAVING 子句中。表的联合(表的联合(JoinJoin)又时所需的资料并不是放在同一个表中,在这个时候,你就要用到Join,如我们U8中的主子表 当然Join如何将不同的数据库的资料结合,还要看你如何使用它。一共有四种不同的Join的方式:INNER JoinFULL OUTER JoinLEFT OUTER JoinRIGHT OUTER Join 表的联合(表的联合(JoinJoin)INNERINNER指定返回每对匹配的行。废弃两个表中不匹配的行。如
12、果未指定联接类型,则这是默认设置。FULL OUTERFULL OUTER指定在结果集中包含左表或右表中不满足联接条件的行,并将对应于另一个表的输出列设为 NULL。这是对通常由 INNER JOIN 返回的所有行的补充。LEFT OUTERLEFT OUTER指定在结果集中包含左表中所有不满足联接条件的行,且在由内联接返回所有的行之外,将另外一个表的输出列设为 NULL。RIGHT OUTERRIGHT OUTER指定在结果集中包含右表中所有不满足联接条件的行,且在由内联接返回的所有行之外,将与另外一个表对应的输出列设为 NULL。表的联合(表的联合(JoinJoin)SelectFrom
13、On例子Useufdata_888_2004Select*Fromrdrecord InnerJoinrdrecords On rdrecord.id=rdrecords.id 表的联合(表的联合(JoinJoin)OuterJoin的语法 SelectFrom OuterJoinOn 表的联合(表的联合(JoinJoin)OuterJoin是inclusive(包容性吧)不同于InnerJoin的exclusive(排他性)LeftOuterJoin的查询结果会包含所有Left资料表的资料,对应的Right表的记录用Null填写;RightOuterJoin的查询就会包含所有Right资料表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 SQL 知识 SQL2005 子句
限制150内