最近又碰到行专列问题了,当时不假思索用的是子查询,做完后我询问面试管行专列标正的写法应该如何写,他告诉我说应该用"Decode",索性我就总结一下,一共三种方式 --=========建表语句 CREATE TABLE populations( country VARCHAR2(20), sex INT, populcation INT ); --=========插入记录 insert into populations (COUNTRY, SEX, POPULCATION) valu…
case 就相想当于C#里面switch l 列:根据员工的职位,计算加薪后的薪水数据 如果职位是Analyst , 加薪10% 如果职位是Programmer 加薪5% 如果职位是clerk ,加薪2% 其他职位,薪水不变 select case when job='Analyst' then sal * 1.1 when job='Programmer' then sal *1.05 when job ='clerk ' then sal * 1.02 else sal end fro…
select * from EMP eselect * from dept dselect * from salgrade s--Oracle特有函数 case whenselect case 2 when 1 then '一' when 2 then '二' when 3 then '三' else '其他' end from dual;--Oracle特有函数 decodeselect decode(3,1,'一',2,'二',3,'三','其他')from dual;--查询员工的领导信息…
1. case..when case..when语句用于按照条件返回查询结果,如当我们想把emp表的工资按照多少分成几个不同的级别,并分别统计各个级别的员工数.SQL语句如下: select (case when sal <= 1000 then '1' when sal > 1000 and sal <= 2000 then '2' when sal > 2000 and sal <…
创建了一张成绩表,如下图所示: 在oracle中,这两个函数我们都可以使用,代码及结果如下: decode用法: select Name,decode(Subject,'语文',1,'数学',2,'英语',3) 科目代码 from results; select Name,decode(Subject,'语文',1,'数学',2,3) 科目代码 from Results; case用法: select name, case when Subject='语文' th…