oracle 查詢語句

2021-09-01 07:26:57 字數 2575 閱讀 3771

1:select ename "name" ,sql+nvl(comm,0) "income",job from emp where job not like "%aa%" order by job;

nal(comm,0);---把null轉為0

nal(to_char(comm),"no commission");

nal(hiredate,'31-dec-99');

2:select ename "name",job,sal "salary"

decode(job,'aa',sal*1,----邏輯判斷

'bb',sal*2,

'cc',sal*3

);3:select length(name) from emp;

4:select * from lz_user l where exists (select * from lz_gl );

6: nullif(length(name),length(job))

如果兩個相當就返回null,否則返回length(name)值

7:create table emp_null as select eame,sal,comm from emp;

8:coalesce(comm,sal*0.1,100,,,,,,n);

如果 comm不為空,返回comm;

如果comm為空,返回sal*0.1

如果comm為空,sal*0.1為空,返回100,

。。。。

9:select ename 'name' ,job,sal ,

case job when 'aa' then 100

when 'bb'then 200

when 'cc' then 300

else 400 end

"jobb" from emp order by job;

10:修改:select * from emp for update;

11:insert into sales(code,name,dalary,commission) select empno,ename,sal,comm

from emo where job like 'sale%';

12:insert into emp (empno,ename,job) values (&no,"aa",'bb');

注意:&no為變數

13:15:檢視資料庫所有索引select * from user_indexes;

14:oracle 提供五種約束

非空,唯一,主鍵,外來鍵,條件,

15:oracle檢視問題:

1:簡單檢視:

資料是僅從乙個表中提取

不包含函式

不包含分組資料

可以通過該檢視進行dml操作

2:複雜檢視:

資料是從多個表中提取的

包含函式

包含分組函式

不一定能夠通過該檢視進行dml操作

---3:

3.1可以在簡單檢視上執行dml操作

3.2:如果在檢視中包含,分組函式,group by 子句,或distinct ,就不能通過檢視進行刪除,修改,新增操作

3.3:如果檢視中包含了由表示式組成的列或者偽列rownum,不能通過檢視進行,新增,修改

3.4:如果乙個檢視中沒有包含引用表中那些不能為空(not null)的列,也不能通過該檢視進行插入(insert)操作

16:with check option

create view sales30 as select * from emp where deptno=30 with check option connstratint sales30_ck;

當執行:update sales30 set septno=10 where job

="aa"; 報錯,因為:where deptno=30 with check option connstratint sales30_ck;

16.2:create or replace view acct as select * from emp with read only;唯讀

16.3:內嵌檢視

select a,b,c,d, from emp,(select cc,dd from job) m where emp.a=m.cc;

16.4:select * from emp where rownum <=12;

17:檢視使用者的許可權

select * from session_privs;

18:建立角色

create role animal;

給角色賦予許可權

grant dba to animal;

給使用者賦予角色

grant animal to dog,cat,pig;

--dog,cat ,pig都是dba了哦!

--刪除使用者

drop user cat

刪除使用者及使用者的所有資料,表...

drop user cat cascade;

資料庫預定義的兩個角色,connect ,resource 如果對安全要求比較高建議不要用

如果想快捷,可以使用哦!

17:pl slq使用

Oracle查詢語句

select sysdate from dual dual 臨時的表,使語法結構完整,沒有什麼意義。oracle中的select語句必須要有from 而sql2008中可以沒有。起別名 起別名 as起別名,不用加雙引號.加空格起別名,要加雙引號 select name as 姓名 from stud...

Oracle查詢語句

列出所有部門的詳細資訊和部門人數。這裡需要部門的詳細資訊和部門人數,顯然需要我們進行表的連線 那麼這裡我們先貼出兩張表長啥樣 像這樣的關於兩張表的連線,那麼我們一般先一張一張來 比如這裡我們可以先解決部門的詳細資訊 然後解決部門人數 select deptno,count 1 人數 from emp...

oracle查詢語句

查詢第10條到第13條記錄,要求按empno編號公升序排序,先在公升序情況下查詢出前13條記錄,然後將結果倒序,取出倒序後的前4條 即第13條記錄到第10條記錄 然後再按公升序排序,就是要查詢的公升序排列的第10條到第13條記錄。select from select from select from...