欢迎光临散文网 会员登陆 & 注册

Oracle笔记 form子句讲解,别称的使用,字符串使用,null值处理,

2023-03-03 09:47 作者:阿彦绝地反击  | 我要投稿

from 子句

    显示字段设置

    别称

    数学运算

    null值处理

    字符串处理

where 子句

order by 排序

1. from子句之显示字段

练习:显示部门的所有字段

           select * from dept;  

 --*表示所有字段:显示全部内容时

练习:显示部门的所有字段

select deptNo,dName,loc from dept; 

--显示表内给定字段:显示其中某几个(设A表100列显示其中99列)

练习:显示员工编号、姓名、工资、部门

select empNo,eName,sal,deptNo from emp;

1. from子句 别称

应用场景:

做数学运算时sal*12 显示的列标题sal*12 ,此时显示yearSal就用别称

做null值处理时,nvl(comm,0) 显示的列标题 nvl(comm,0) 此时显示cm就用别称

做多表联合时列名可能重复,员工和部门两表都有deptNo列,此时用别称区分

。。。 。。。

语法规则:

select 列名1   别称1 , 列名2   别称2,  ... ... , 列名N  别称N  from 表名;

练习:查询显示部门要求字段标题是dxxxx的形式,以D开头

select deptNo dNo ,dname,loc dloc from dept;

1.  数学运算

应用场景:

求年薪sal*12、求月实发工资 sal+comm 、求年度提成 comm*12 ...

语法:

select 列名 运算符 列名/值 from 表名;

练习:求每个员工的年薪情况

select eName,sal*12  from emp;

当查询显示内容中有函数或运算时显示字段将不完美

练习:显示员工年薪(进阶版)

select eName,sal*12 yearMoney from emp;

1.  null值处理

发现问题: select eName,sal,comm,sal+comm money from emp; 

执行结果如下图

oracle运算特:null进行运算结果是null. 没奖金的没实发工资

处理问题:当奖金是null时,我们可以将null替换成0

语法:nvl( 列名, 新值)

解题答案:谁是空谁及时将null替换掉

select eName,sal,nvl(comm,0) cm,sal+nvl(comm,0) money from emp;

null的提成被替换成0,就有实发工资了

1.  from子句之字符串

(1)     应用场景:显示时以XX开头、XX结尾、XX做连接符

(2)     解决办法:’字符串1’||’字符串2’  结果 ‘字符串1字符串2’

(3)     练习:

①    显示Mr.姓名 员工的姓名前加Mr.前缀

select ‘Mr.’||eName , sal from emp;

①    显示特殊字符’单引号,例如显示abc成 ‘abc’

1)       方法1:select ‘’’abc’’’ from dual;

2)       方法2: select ‘’’’ || ‘abc’ || ‘’’’ from dual;

解释: ‘ ‘’ ’ 表示被输出的那个’

‘’’’ || ‘abc’ || ‘’’’     --单引号内的一对单引号表示原样输出中的1个单引号

‘   abc    ’    

 


Oracle笔记 form子句讲解,别称的使用,字符串使用,null值处理,的评论 (共 条)

分享到微博请遵守国家法律