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 有什么问题可以给我留言噢~
  • 相关阅读:
    在网上如何找靠谱的兼职?
    Amphorae 与 Octavia Worker 的安全通信实现
    idea遇到XXXXXXXX.java文件上出现小叉号
    2019创业做哪方面,有什么好的建议吗?
    投资理财财经 现在每个月可以抽出2000元的闲钱,投资什么项目比较好?
    开水果蔬菜超市利润大吗?
    理财能不能发家致富?
    不想打工了,手里有10万,想回农村老家创业,却不知道做什么,请各位指点迷津,谢谢?
    为什么很多人说现在做什么生意都不好做?
    ylbtech-SubwayNav(地铁线路导航)-数据库设计
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10428329.html
Copyright © 2011-2022 走看看