select语句高级用法

select语句高级用法

ID:11169808

大小:17.54 KB

页数:8页

时间:2018-07-10

select语句高级用法_第1页
select语句高级用法_第2页
select语句高级用法_第3页
select语句高级用法_第4页
select语句高级用法_第5页
资源描述:

《select语句高级用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SELECT语句高级用法1,使用groupby子句groupby子句将表分为几组,此子句通常与为每个这样的组生产总结值的聚集函数组合。使用不带聚集的groupby子句与在select子句中使用的distinct(或unique)关键字很相似。selectdistinctcustomer_numfromorders;selecctcustomer_numfromordersgroupbycustomer_num;groupby子句将行收集到组中,因此每一组中的每一行具有相同的客户号。在没有选择任何其它列的情况下,结果是唯一的customer_num值的列表。selectord

2、er_num,count(*)number,sum(total_price)pricefromitemsgroupby1orderby3;selecto.order_num,sum(i.total_price)fromordero,itemsiwhereo.order_date>'01/01/98'andocustomer_num=110ando.order_num=i.order_numgroupbyo.order_num;使用having子句要完成groupby子句,使用having子句来在构成组之后将一个或多个限制条件应用于这些组。having子句对组的影响类似于wh

3、ere子句限制个别行的方式,使用having子句的一个优点是可以在搜索条件中包括聚集,而在where子句的搜索条件中却不能包括聚集。每个having条件将组的一列或一个聚集表达式与组的另一个聚集表达式或与常量作比较。可以使用having来对列值或组列表中的聚集值设置条件。下面的语句返回具有两个商品以上的订单上每个商品的平均总价格。having子句在每个构成的测试组,并选择由两行以上构成的那些组。selectorder_num,count(*)number,avg(total_price)averagefromitemsgroupbyorder_numhavingcount(

4、*)>2;如果不带groupby子句使用having子句,则该having条件适应雨满足搜索条件的所有行。换言之,满足搜索条件的所有行构成一个组。selectavg(total_price)averagefromitemshavingcount(*)>2;selecto.order_num,sum(i.total_price)price,paid_date-order_datespanfromorderso,itemsiwhereo.order_date>'01/01/98'ando.customer_num>110ando.order_num=i.order_numgro

5、upby1,3havingcount(*)<5orderby3intotemptemptab1;创建高级连接自连接连接不一定都是涉及两个不同的表。可以将表连接至它本身,缠结自连接。当想要将列中的值与同一列中的其它值进行比较时,将表连接至它自身非常有用。要创建自连接,在from子句中列示表两次,并且每次为它指定不同的别名。与表之间的连接一样,可以在自连接中使用算术表达式。可以测试空值,可以使用orderby子句来以升序或将序对指定列中的值进行排序。selectx.order_num,x.ship_weight,x,ship_date,y.order_num,y.ship_we

6、ight,y.ship_datefromorderx,orderywherex.ship_weight>=5*y.ship_dateandx.ship_dateisnotnullandy.ship_dateisnotnullorderbyx.ship_date;如果想要将自连接的结果存储到临时表中,则将Intotemp子句追加到select语句中,并至少对一组列指定显示标号,以重命名这些列。否则,重复列名将导致错误,并且不会创建临时表。selectx.order_numorders1,x.po_numpurch1,x.ship_dateship1,y.order_numor

7、ders2,y.po_numpurch2,y.ship_dateship2fromorderx,ordersywherex.ship_weight>=5*y.ship_weightandx.ship_dateisnotnullandy.ship_dateisnotnullorderbyorders1,orders2intotempshipping;自连接子句三次selects1.manu_code,s2.manu_code,s3.manu_code,s1.stock_num,s1.descriptonfromsto

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。