设为首页 收藏本站
查看: 1346|回复: 0

[经验分享] oracle的简单学习

[复制链接]

尚未签到

发表于 2018-9-14 08:39:18 | 显示全部楼层 |阅读模式
  1.获得当前的日期时间
  select sysdate from dual;
  2.获取当前系统的日期和时间
  select to_char(sysdate,'yyyy-MM-dd hh:mm:ss') from dual;
  3.MONTHS_BETWEEN(date1,date2):返回date1和date2之间的月份数量,结果为正数或负数
  select months_between(sysdate,to_date('2013-01-01','yyyy-MM-dd')) from dual;
  4.add_MONTHS(date,n):向date加上n个月,n必须是正整数
  select add_months(sysdate,2) from dual;
  5.next_day(date,char):求出date之后一周内某天char的日期,char是一个有效表示星期几的数字或字符串
  select next_day(sysdate,7) from dual;
  6.last_day(date):求出date所在月的最后一天
  select last_day(sysdate) from dual;
  一:等值查询
  1.输出每人所在的部门及部门所在地:
  select ename,dname,loc from emp,dept where emp.deptno = dept.deptno;
  2.查询deptno为10的员工及部门所在地:
  select ename,dname,loc from emp,dept where emp.deptno = dept.deptno and dept.deptno = 10;
  二:外部连接
  【外部连接运算符(+)只能放在连接条件表达式的一侧】
  【外部连接条件中不能使用in操作符,也不能用or运算符与其他运算符相连】
  1.显示员工对应的部门,并显示所有部门:
  select ename,dept.dname,emp.empno,dept.deptno from emp,dept where emp.deptno(+) = dept.deptno;
  2.显示员工对应的部门,并显示所有的员工:
  select ename,dept.dname,emp.empno,dept.deptno from emp,dept where emp.deptno = dept.deptno(+);
  三:标准连接查询
  1.内连接:select ename,dname from emp inner join dept on emp.deptno = dept.deptno;
  2.左外连接: select ename,dname from emp left join dept on emp.deptno = dept.deptno;
  3.右外连接:select ename,dname from emp right join dept on emp.deptno = dept.deptno;
  四:子查询
  1.显示比id为7655销售额高的记录:
  select * from emp where sal > (select sal from emp where empno = 7566);
  2.显示和ID为7369相同工作并且工资大于7876的员工信息:
  select ename from emp where job = (select job from emp where empno = 7369) and sal > (select sal from emp where empno = 7876);
  3.显示工资最低的员工信息:
  select * from emp where sal = (select min(sal) from emp);
  说明:
  1.子查询要使用括号括起来
  2.将子查询放在比较运算符的右边
  3.不要在子查询中使用order by字句,select语句中只能有一个order by字句,并且它只能是主select语句的最后一个字句
  五:获取序列信息
  select sequence_name,max_value,min_value,increment_by,last_number from user_sequences;
  1.sequence_name:序列名称
  2.max_value:最大的值
  3.min_value:最小的值
  4.increment_by:增长量
  5.last_number:使用的或缓存的最后一个序列号,一般大于缓冲区中的最后一个值
  六:查询索引
  select * from user_indexes;
  七:分页
  分页查询格式:
  SELECT * FROM ( SELECT A.*, ROWNUM RN
  FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM = 21
  其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM = 21控制分页查询的每页的范围。
  上面给出的这个分页查询语句,在大多数情况拥有较高的效率。分页的目的就是控制输出结果集大小,将结果尽快的返回。在上面的分页查询语句中,这种考虑主要体现在WHERE ROWNUM

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-581767-1-1.html 上篇帖子: oracle修改归档日志的路径 下篇帖子: ORACLE解锁record is locked by another user
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表