zoukankan      html  css  js  c++  java
  • Oracle基本查询

    1. 统计各部门的薪水总和。
      错误写法:重命名的时候 as 后面不添加引号
      select deptno as ‘部门’, sum(sal) as ‘薪水’ from EMP group by deptno;
      正确写法:
      select deptno as 部门, sum(sal) as 薪水 from EMP group by deptno;
    2. 列名和表明可以不用区分大小写,但是具体的字段名称需要区分大小写,并且如果具体的字段名称是字符串,需要添加单引号
    3. 注意where语句一定要紧跟再from语句的后面
      错误写法:select deptno 部门, min(sal) 最低薪水 from emp group by deptno where job=’MANAGER’ ;
      正确写法:
      select deptno 部门, min(sal) 经理最低薪水 from emp where job =’MANAGER’ group by deptno;
    4. 日期的计算
      显示所有员工的姓名以及工作10年后的日期。
      select ename 姓名,hiredate 入职日期, add_months(hiredate,10*12) 工作10年后的日期 from emp;
    5. 自身比较
      列出从事同一种工作但属于不同部门的员工的不同组合。
      select e1.ename 员工1 ,e2.ename 员工2 from emp e1 ,emp e2 where e1.job= e2.job and e1.deptno<>e2.deptno;
    6. 占位符
      显示正好为5个字符的员工的姓名。
      select ename 姓名 from emp where ename like ‘_‘;
    7. 避免为空。利用nvl 函数转为0进行计算
      显示在一个月为30天的情况下所有员工的日薪水,取整。
      select trunc((sal+nvl(comm,0))/30,0) 日薪 from emp;
      trunc(num,0)用于取整
    8. MONTHS_BETWEEN (date1, date2)
      用于计算date1和date2之间有几个月
     9. **Oracle与MySQL的区别
    Oracle:varchar2()
    MySQL:varchar()**
    1. 表的自身连接
      列出所有员工的姓名及其直接上级的姓名。
      那么这里我们需要定义两张表,实际上是一张表有两个名字,一张表表示员工,一张表示上级
      select a.ename 员工,(select ename from emp b where b.empno=a.mgr ) 上级 from emp a;

    2. 子查询
      列出与“SCOTT”从事相同工作的所有员工。
      错误写法:select ename from emp a where a.job=(select job from emp b where ename=’SCOTT’) and b.ename<>’SCOTT’;
      正确写法:select ename from emp where job = (select job from emp where ename=’SCOTT’) and ename<>’SCOTT’;

    3. 表的自身连接
      39.列出从事同一种工作但属于不同部门的员工的一种组合。
      错误写法:
      select a.ename,a.deptno from emp a where a.job=(select job from emp b ) and a.deptno<>b.deptno;
      正确写法:
      select a.ename,a.deptno from emp a,emp b where a.job=b.job and a.deptno<>b.deptno;
    欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
  • 相关阅读:
    Mvc+三层(批量添加、删除、修改)
    js中判断复选款是否选中
    EF的优缺点
    Git tricks: Unstaging files
    Using Git Submodules
    English Learning
    wix xslt for adding node
    The breakpoint will not currently be hit. No symbols have been loaded for this document."
    Use XSLT in wix
    mfc110ud.dll not found
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10428329.html
Copyright © 2011-2022 走看看