Oracle_Day03(条件表达式,嵌套函数,多表查询,分组查询)

Oracle_Day03(条件表达式,嵌套函数,多表查询,分组查询)

条件表达式

  • 在 SQL 语句中使用IF-THEN-ELSE 逻辑
  • 使用的两种方法:
    • CASE 表达式
    • DECODE 函数

CASE表达式:

--查询部门号为 10, 20, 30 的员工信息, 若部门号为 10, 则打印其工资的 1.1 倍, 20 号部门, 则打印其工资的 1.2 倍, 30 号部门打印其工资的 1.3 倍数
SELECT ename,job,deptno,sal ,
      case deptno when 10 then sal * 1.1
                   when 20 then sal * 1.2
                   when 30 then sal * 1.3
      ELSE sal
      end "salary"   -- 此处的字符串表示case的字段名称,必须使用双引号
      FROM emp;

DECODE 函数:

decode() 函数的语法:

SELECT decode(columnname,值1,翻译值1,2,翻译值2,...值n,翻译值n,缺省值) FROM talbename WHERE
--Decode实现
SELECT ename,job,deptno,sal,
       DECODE(deptno,10,sal * 1.1,20,sal * 1.2,30,sal * 1.3,sal) salary FROM emp;
-- 使用Decode 将员工的job显示为中文
SELECT ename,job,
       DECODE(job,'CLERK','店员','SALESMAN','销售员','MANAGER','经理',job)  职位 

嵌套函数

函数里面还可以是另一个函数的处理的结果,执行顺序是由内到外

--查询雇员中没有领导的雇员信息,如果该雇员没有经理,则将manager_id 修改为'No Manager'
 SELECT ename,job,mgr,NVL(to_char(mgr),'No Manager') FROM emp

多表查询

-- 查询员工信息及其所在的部门信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值