魔乐在线Oracle笔记超经典.doc

魔乐在线Oracle笔记超经典.doc

ID:48523961

大小:5.75 MB

页数:86页

时间:2020-02-07

魔乐在线Oracle笔记超经典.doc_第1页
魔乐在线Oracle笔记超经典.doc_第2页
魔乐在线Oracle笔记超经典.doc_第3页
魔乐在线Oracle笔记超经典.doc_第4页
魔乐在线Oracle笔记超经典.doc_第5页
资源描述:

《魔乐在线Oracle笔记超经典.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注.图表1.word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注..word完美格式..专业.专注.多表查询的基本语法查一张以上的表,就叫做多表查询例子:查询出雇

2、员名称,部门名称和部门所在地的(一般多表查询要用别名).word完美格式..专业.专注.统计记录数:查询emp有多少条纪录左右连接(重点)selecte.empno,e.ename,d.deptno,d.dname,d.locfromempe,deptdwheree.deptno=d.deptno;部门一共四个,这里只查询出三个,因为在雇员表中没有指定40部门的雇员,所以在消除笛卡尔乘机的时候没有条件符合40,如果喜欢40部门显示出来,就要用左右连接了。.word完美格式..专业.专注.selecte.empno,e.ename,d.deptno,d.

3、dname,d.locfromempe,deptdwheree.deptno(+)=d.deptno;(+)在左边,表示以右边的表为准,表示右链接。40部门出来了,所以此时就用到了有连接,证明以下规律.word完美格式..专业.专注.(+)在左表示右连接(+)在右表示左连接.SQL:1999对SQL的支持(了解)范例:交叉连接(crossjoin)产生笛卡尔积select*fromemptCROSSJOINdept;查询结果产生笛卡尔积CREATETABLEEMP10ASSELECT*FROMEMPWHEREDEPTNO=10;select*frome

4、mpNATURALJOINdept;自动进行匹配范例:USING子句,直接关联的操作列select*fromempeJOINdeptdUSING(deptno)wheredeptno=30;把两张表的详细信息进行打印输出范例:ON子句自己编写连接条件select*fromempeJOINdeptdON(e.deptno=d.deptno)wheree.deptno=30;范例:左连接(左外连接)右连接(右外连接)LEFTJOINRIGHTJOIN组函数和分组统计(重点)组函数在SQL常用组函数有如下几个:.word完美格式..专业.专注.COUNT()

5、求全部记录数MAX()求最大记录数MIN()求最小记录数AVG()平均SUM()求和分组统计GROUPBYselectdeptno,COUNT(empno)fromempGROUPBYdeptno;算出部门表的平均工资:selectAVG(sal)fromemp;算出每个部门的平均工资:Selectdeptno,AVG(sal)fromemp; 之所以会出现这个错误是因为数据库不知道怎样在结果集中处理deptno列。考虑一下:这个查询既试图使用AVG聚合函数对多行记.word完美格式..专业.专注.录进行操作,却又试图从每行中获得deptno列的值;这

6、两个操作是不可能同时完成的。此时必须提供一个GROUPBY子句告诉数据库将deptno列相同的行分组在一起,然后数据库就可以将这些组中的行传递给AVG函数。警告:如果查询中包含聚合函数,而所选择的列并不在聚合函数中,那么这些列就必须在GROUPBY子句中。按部门分组,并显示部门名称,以及部门员工数selectd.dname,count(e.empno)fromdeptd,empewhered.deptno=e.deptnoGROUPBYd.dname;要求查出平均工资大于2000的部门编号和平均工资selectdeptno,AVG(sal)fromem

7、pWHEREAVG(sal)>2000GROUPBYdeptno; 之所以会出现这个错误是因为WHERE子句只能用来对单行而不是行组进行过滤。要过滤行组,可以使用HAVING子句。.word完美格式..专业.专注.范例:显示非销售人员工作名称以及从事同一工作雇员的月工资的总和,并且要满足从事同一工作的雇员的月工资合计大于¥5000。输出结果按月工资的合计升序排列1.显示全部的非销售人员:job<>’SALESMAN’select*fromempwherejob<>'salesman';2.按工作分组同时求出工资的总和Selectjob,SUM(sal)

8、fromempWHEREjob<>’SALESMAN’GROUPBYjob;3.对分组条件进行

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

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

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