Oracle筆記 form子句講解,別稱的使用,字符串使用,null值處理,
from 子句
????顯示字段設(shè)置
????別稱
????數(shù)學(xué)運算
????null值處理
????字符串處理
where 子句
order by 排序
1. from子句之顯示字段
練習(xí):顯示部門的所有字段
? ? ? ? ???select * from dept;??

練習(xí):顯示部門的所有字段
select deptNo,dName,loc from dept;?
--顯示表內(nèi)給定字段:顯示其中某幾個(設(shè)A表100列顯示其中99列)
練習(xí):顯示員工編號、姓名、工資、部門
select empNo,eName,sal,deptNo from emp;
1. from子句 別稱
應(yīng)用場景:
做數(shù)學(xué)運算時sal*12 顯示的列標(biāo)題sal*12 ,此時顯示yearSal就用別稱
做null值處理時,nvl(comm,0) 顯示的列標(biāo)題 nvl(comm,0) 此時顯示cm就用別稱
做多表聯(lián)合時列名可能重復(fù),員工和部門兩表都有deptNo列,此時用別稱區(qū)分
。。。 。。。
語法規(guī)則:
select 列名1?? 別稱1 , 列名2?? 別稱2,? ... ... , 列名N? 別稱N? from 表名;
練習(xí):查詢顯示部門要求字段標(biāo)題是dxxxx的形式,以D開頭
select deptNo dNo ,dname,loc dloc from dept;

1. ?數(shù)學(xué)運算
應(yīng)用場景:
求年薪sal*12、求月實發(fā)工資 sal+comm 、求年度提成 comm*12 ...
語法:
select 列名 運算符 列名/值 from 表名;
練習(xí):求每個員工的年薪情況
select eName,sal*12? from emp;

練習(xí):顯示員工年薪(進階版)
select eName,sal*12 yearMoney from emp;

1. ?null值處理
發(fā)現(xiàn)問題: select eName,sal,comm,sal+comm money from emp;?
執(zhí)行結(jié)果如下圖

處理問題:當(dāng)獎金是null時,我們可以將null替換成0
語法:nvl( 列名, 新值)
解題答案:誰是空誰及時將null替換掉
select eName,sal,nvl(comm,0) cm,sal+nvl(comm,0) money from emp;

1. ?from子句之字符串
(1)???? 應(yīng)用場景:顯示時以XX開頭、XX結(jié)尾、XX做連接符
(2)???? 解決辦法:’字符串1’||’字符串2’? 結(jié)果 ‘字符串1字符串2’
(3)???? 練習(xí):
①??? 顯示Mr.姓名 員工的姓名前加Mr.前綴
select ‘Mr.’||eName , sal from emp;

①??? 顯示特殊字符’單引號,例如顯示abc成 ‘a(chǎn)bc’
1)?????? 方法1:select ‘’’abc’’’ from dual;
2)?????? 方法2: select ‘’’’ || ‘a(chǎn)bc’ || ‘’’’ from dual;
解釋: ‘ ‘’ ’ 表示被輸出的那個’
‘’’’ || ‘a(chǎn)bc’ || ‘’’’ ??? --單引號內(nèi)的一對單引號表示原樣輸出中的1個單引號
‘?? abc??? ’????
?