SELECT语句高级用法.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SELECT语句高级用法

SELECT语句高级用法1,使用group by 子句group by 子句将表分为几组,此子句通常与为每个这样的组生产总结值的聚集函数组合。使用不带聚集的group by 子句与在select 子句中使用的distinct(或unique)关键字很相似。select distinct customer_num from orders;selecct customer_num from orders group by customer_num;group by 子句将行收集到组中,因此每一组中的每一行具有相同的客户号。在没有选择任何其它列的情况下,结果是唯一的customer_num值的列表。select order_num,count(*) number,sum(total_price) price from items group by 1 order by 3;select o.order_num,sum(i.total_price) from order o,items i where o.order_date 01/01/98and ocustomer_num = 110 and o.order_num = i.order_num group by o.order_num;使用having子句要完成group by 子句,使用having 子句来在构成组之后将一个或多个限制条件应用于这些组。having子句对组的影响类似于where 子句限制个别行的方式,使用having子句的一个优点是可以在有哪些信誉好的足球投注网站条件中包括聚集,而在where子句的有哪些信誉好的足球投注网站条件中却不能包括聚集。每个having条件将组的一列或一个聚集表达式与组的另一个聚集表达式或与常量作比较。可以使用having来对列值或组列表中的聚集值设置条件。下面的语句返回具有两个商品以上的订单上每个商品的平均总价格。having子句在每个构成的测试组,并选择由两行以上构成的那些组。select order_num,count(*) number,avg(total_price) average from items group by order_num having count(*) 2;如果不带group by 子句使用having子句,则该having条件适应雨满足有哪些信誉好的足球投注网站条件的所有行。换言之,满足有哪些信誉好的足球投注网站条件的所有行构成一个组。select avg(total_price) average from items having count(*) 2;select o.order_num,sum(i.total_price) price, paid_date - order_date span from orders o,items iwhere o.order_date 01/01/98and o.customer_num 110and o.order_num = i.order_numgroup by 1,3having count(*) 5order by 3into temp temptab1;创建高级连接自连接连接不一定都是涉及两个不同的表。可以将表连接至它本身,缠结自连接。当想要将列中的值与同一列中的其它值进行比较时,将表连接至它自身非常有用。要创建自连接,在from 子句中列示表两次,并且每次为它指定不同的别名。与表之间的连接一样,可以在自连接中使用算术表达式。可以测试空值,可以使用order by 子句来以升序或将序对指定列中的值进行排序。select x.order_num,x.ship_weight,x,ship_date,y.order_num,y.ship_weight,y.ship_date from order x,order ywhere x.ship_weight = 5*y.ship_dateand x.ship_date is not nulland y.ship_date is not nullorder by x.ship_date;如果想要将自连接的结果存储到临时表中,则将Into temp子句追加到select语句中,并至少对一组列指定显示标号,以重命名这些列。否则,重复列名将导致错误,并且不会创建临时表。select x.order_num orders1,x.po_num purch1,x.ship_date ship1,y.order_num orders2,y.po_num purch2,y.ship_date ship2from order x,orders y where x.ship_weight = 5*y.ship_weightand x.ship_date is not nulland y.ship_date

文档评论(0)

liangyuehong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档