韩顺平 oracle听课笔记 经典

韩顺平 oracle听课笔记 经典

ID:42370151

大小:23.06 KB

页数:8页

时间:2019-09-13

韩顺平 oracle听课笔记 经典_第1页
韩顺平 oracle听课笔记 经典_第2页
韩顺平 oracle听课笔记 经典_第3页
韩顺平 oracle听课笔记 经典_第4页
韩顺平 oracle听课笔记 经典_第5页
资源描述:

《韩顺平 oracle听课笔记 经典》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、复杂查询-单表查询:查询部门中各个岗位的平均工资和最高工资。selectavg(sal),max(sal),deptno,jobfromempgroupbydeptno,job;groupby用于对查询的结果分组统计;selectavg(sal),max(sal),deptno,jobfromempgroupbydeptno,jobhavingavg(sal)>2000;having子句用于限制分组显示结果;selectavg(sal),max(sal),deptno,jobfromempgroupbydeptno,jobhavingavg(sal)>2

2、000orderbydeptnodesc;orderby用于排序;复杂查询-多表查询:select?,?fromempa1,depta2wherea1.deptno=a2.deptno;自连接(同一张表的关联查询):select?,?fromempworker,empbosswherewoker.?=boss.?;子查询:1.单行子查询:返回单行数据2.多行子查询:返回多行数据select*fromempwherejobin(select());all=嵌套select(max());any=嵌套select(min());3.多列子查询:select?

3、,?fromempwhere(?,?)=(select?,?);注意对应关系4.from子句中使用子查询:select?,?fromempa1,(selectdeptno,avg(sal)mysalfromempgroupbydeptno)a2wherea1.deptno=a2.deptnoanda1.sal>a2.mysal;(a2叫做内嵌视图)表指定别名不可加as,列可以加as;5.用查询结果创建表:createm1(?,?,?)asselect?,?,?fromemp;复杂查询-分页查询:1.rownum分页:(select*fromemp)2.显

4、示rownum(oracle分配的)selecta1.*,rownumrnfrom(select*fromemp)a1;3.指定范围:6到10条记录selecta1.*,rownumrnfrom(select*fromemp)a1whererownum<=10;前10条记录select*from(selecta1.*,rownumrnfrom(select*fromemp)a1whererownum<=10)wherern>=6;4.几个查询变化:a.指定查询列,(只需要修改最里层的子查询)select*from(selecta1.*,rownumrnf

5、rom(select?,?fromemp)a1whererownum<=10)wherern>=6;b.如何排序,(只需要修改最里层的子查询)select*from(selecta1.*,rownumrnfrom(select?,?fromemporderby?)a1whererownum<=10)wherern>=6;复杂查询-合并查询:unoin:并集且去除重复的unionall:并集且不去除重复的,也不排序intersect:取交集minus:取差集sql函数的使用:lower(char),upper(char),length(char),subs

6、tr(char,m,n)从m开始取n个字符。selectupper(substr(ename,1,1))fromemp;(首字母大写)selectlower(substr(ename,2,length(ename)-1))fromemp;(除首字母大写后面字母小写)replace(char,m,n)选择字段名将m替换成nround(n,[m])四舍五入m为小数点后面的的m位trunc(n,[m])截取数字m为小数点后面的的m位mod(m,n)取模(余数)floor(n)返回小于或者等于n的最大整数ceil(n)返回大于或者等于n的最小整数例:显示一个月(

7、30天)的情况下所有员工的日薪,忽略余数:selecttrunc(sal/30),enamefromemp;或者selectfloor(sal/30),enamefromemp;显示员工的入职天数:Selecttrunc(sysdate-hiredate)"入职天数",enamefromemp;显示当月倒数第三天入职的员工:last_day(d):返回指定日期所在月份的最后一天selecthiredate,enamefromempwherelast_day(hiredate)-2=hiredate;转换函数:to_char(char,data):将字符串

8、转换成date类型的数据to_date('1988-12-12','yyyy-m

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

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

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