sql的leftjoin命令以及having语句和groupby语句

sql的leftjoin命令以及having语句和groupby语句

ID:34726200

大小:63.68 KB

页数:4页

时间:2019-03-10

sql的leftjoin命令以及having语句和groupby语句_第1页
sql的leftjoin命令以及having语句和groupby语句_第2页
sql的leftjoin命令以及having语句和groupby语句_第3页
sql的leftjoin命令以及having语句和groupby语句_第4页
资源描述:

《sql的leftjoin命令以及having语句和groupby语句》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、sql的leftjoin命令以及having语句和groupby语句给个通俗的解释吧.例表aaidadate1a12a23a3表bbidbdate1b12b24b4两个表a,b相连接,要取出id相同的字段select*fromainnerjoinbona.aid=b.bid这是仅取出匹配的数据.此时的取出的是:1a1b12a2b2那么leftjoin指:select*fromaleftjoinbona.aid=b.bid首先取出a表中所有数据,然后再加上与a,b匹配的的数据此时的取出的是:1a1b12a2b23a3空字符同样的也有righ

2、tjoin指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据此时的取出的是:1a1b12a2b24空字符b4HAVING用户在使用SQL语言的过程中可能希望解决的一个问题就是对由sum或其它集合函数运算结果的输出进行限制。例如,我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句。语法格式为:SELECT"column_name1",SUM("column_name2")FROM"table_name"GROUPBY"column_name1"HAV

3、ING(arithematicfunctioncondition)(GROUPBY从句可选)由此,我们可以使用如下命令实现上述查询目的:SELECTstore_name,SUM(sales)FROMStore_InformationGROUPBYstore_nameHAVINGSUM(sales)>1500查询结果显示为:store_nameSUM(Sales)LosAngeles$1800小注:SQL语言中设定集合函数的查询条件时使用HAVING从句而不是WHERE从句。通常情况下,HAVING从句被放置在SQL命令的结尾处groupb

4、y分组通用数据库具有基于表的特定列对数据进行分析的能力。可按照在GROUPBY子句中定义的组对行进行分组。以其最简单的形式,组由称为分组列的列组成。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUPBY子句定义的每个组各返回一个结果。下列示例产生一个列出每个部门编号的最高薪水的结果:SELECTDEPT,MAX(SALARY)ASMAXIMUMFROMSTAFFGROUPBYDEPT此语句产生下列结果:DEPTMAXIMUM---------------1022959.201520659.802018357.5038180

5、06.004218352.805121150.006621000.008419818.00注意:计算的是每个部门(由GROUPBY子句定义的组)而不是整个公司的MAX(SALARY)。将WHERE子句与GROUPBY子句一起使用分组查询可以在形成组和计算列函数之前具有消除非限定行的标准WHERE子句。必须在GROUPBY子句之前指定WHERE子句。例如:SELECTWORKDEPT,EDLEVEL,MAX(SALARY)ASMAXIMUMFROMEMPLOYEEWHEREHIREDATE>'1979-01-01'GROUPBYWORKDE

6、PT,EDLEVELORDERBYWORKDEPT,EDLEVEL结果为:WORKDEPTEDLEVELMAXIMUM--------------------------D111718270.00D211527380.00D211636170.00D211728760.00E111215340.00E211426150.00注意:在SELECT语句中指定的每个列名也在GROUPBY子句中提到。未在这两个地方提到的列名将产生错误。GROUPBY子句对WORKDEPT和EDLEVEL的每个唯一组合各返回一行。在GROUPBY子句之后使用HAV

7、ING子句可应用限定条件进行分组,以便系统仅对满足条件的组返回结果。为此,在GROUPBY子句后面包含一个HAVING子句。HAVING子句可包含一个或多个用AND和OR连接的谓词。每个谓词将组特性(如AVG(SALARY))与下列之一进行比较:该组的另一个特性例如:HAVINGAVG(SALARY)>2*MIN(SALARY)常数例如:HAVINGAVG(SALARY)>20000例如,下列查询寻找雇员数超过4的部门的最高和最低薪水:SELECTWORKDEPT,MAX(SALARY)ASMAXIMUM,MIN(SALARY)ASMIN

8、IMUMFROMEMPLOYEEGROUPBYWORKDEPTHAVINGCOUNT(*)>4ORDERBYWORKDEPT此语句产生下列结果:WORKDEPTMAXIMUMMINIMUM--

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

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

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