當前位置:文思屋>社會工作>IT認證>

Oracle複習知識點彙總

文思屋 人氣:2.63W

Oracle認證考試由Oracle公司授權國際考試認證中心對考生進行資格認證的。那麼Oracle認證考試複習要點有哪些呢?下面跟本站小編一起來學習吧!

Oracle複習知識點彙總

desc emp; 顯示emp表的結構

select count(*) FROM emp; 統計記錄條數 count(*)是統計函式

SELECT * FROM emp; 查詢所有的列

SELECT ename,hiredate FROM emp; 查詢員工的入職時間(投影)

SELECT ename,sal AS Salary,job FROM emp; 查詢員工的sal,顯示為Salary---------結果是顯示為SALARY

SELECT ename,sal "Salary",job "Job" FROM emp; 更改5為如此,as可以省略

******************select 子句的功能****************

SELECT ename,sal,sal*12 "Year_Salary" FROM emp; 查詢員工的年薪,顯示為Year_Salary

SELECT ename,sal,comm,sal+comm "Month_sal" FROM emp; 查詢員工月總酬勞(月薪+獎金)-------結果出現NULL

SELECT ename,sal,nvl(comm,0) "Comm",sal+nvl(comm,0) "Month_sal" FROM emp; 更改點7,nvl(列名,值)表示如果該欄位為NULL則把它轉換為該值

SELECT ename || ' works as '|| job "work" FROM emp; ||為連線表示式,可隨意連線額外的字元-------注意:額外字元要用''括起來

SELECT distinct job FROM emp; distinct作用是去掉重複值

***************where 子句的功能******************

SELECT ename,deptno,job from emp where deptno=&no; 利用繫結變數的形式查詢不同部門的員工姓名,所在部門,職位;&no是我們待輸入的值

SELECT ename,job FROM emp WHERE sal between &sal1 and &sal2 需要多少個引數就定義多少個變數

SELECT ename,sal,job FROM emp where job='MANAGER';查詢職位是“MANAGER”的職員資訊-----注意:=後要用' ',表中的資料有大小寫區分

SELECT ename,sal FROM emp where sal between 1500 and 3000; 的用法,查詢工資在1500~3000員工資訊;取反為:not between

SELECT ename, deptno,job from emp where deptno=10 or deptno=20; or的用法,只要一個滿足條件就顯示

SELECT ename, deptno,job from emp where job in('MANAGER','ANALYST'); 14、in的用法,可代替or,只要滿足括號裡的一個欄位就顯示;取反為:not in

SELECT ename,job from emp where ename like 'M%' like用作模糊查詢,%表示0或多個字元,_表示任意單個字元,如'_M%'則表示第二個字元為M的欄位;取反為:not like

SELECT ename,job from emp where ename like 'A_%' ESCAPE ''; 顯示以A_***格式的欄位,escape表示後面的字元不作為萬用字元來用

SELECT ename,comm FROM emp where comm is NULL; 查詢沒有獎金的員工,即comm為空,不可以寫為comm=null;取反:is not null

SELECT ename,job FROM emp WHERE job <> 'SALESMAN'; 查詢職位表示SALESMAN的員工,<>表示為不等於

SELECT ename,sal,deptno FROM emp WHERE sal>=1000 and deptno=10 or deptno=20; 先對A和B求交集,再和C求並集

SELECT ename,sal,deptno FROM emp WHERE sal>=1000 and (deptno=10 or deptno=20); 先對B和C求並集,再和A求交集

Alter session set nls_language='AMERICAN'; 轉換為英文環境

Select *from emp where hiredate between '01-JAN-81' and '31-DEC-81'; 查詢入職年份為1981的員工資訊

***************order by子句的功能***************************

正序(asc)是從小到大,倒序(desc)是從大到小

SELECT ename,sal,deptno

SELECT ename,sal,deptno FROM emp order by deptno,sal DESC; 先對deptno進行正序排序(asc省略了),後對sal進行倒序(DESC)排序

desc dual; dual是一個虛表,只有一個欄位

select * FROM dual;

***********************單行函式**************************

*******1、字元函式*******

SELECT lower('Sql Server') from dual; lower()轉換為小寫

SELECT initcap('sql server') FROM dual; initcap()首字母大寫

SELECT * FROM emp WHERE upper(ename)='SCOTT'; upper()轉換為大寫,在不知道其資料的大小寫情況下使用方便

SELECT concat('hello', 'world') from dual;concat()連線字串

SELECT substr('helloworld', 3, 3) FROM dual; substr(字串,開始位置,擷取長度)擷取子串,從1開始算

SELECT length('helloworld') FROM dual; length()求字串長度

SELECT lpad('hello',10,'#') FROM dual; lpad(原字串,設定的總長度,定義字元),不足總長度就左邊補字元

SELECT rpad('hello',10,'#') FROM dual; rpad(原字串,設定的總長度,定義字元),不足總長度就右邊補字元

*******2、數字函式********

SELECT round(45.678,2) from dual; round()四捨五入,預設有效位為0---------特例,當有效位為-1,結果是50

SELECT trunc(45.678,-1) FROM dual; trunc()擷取----------- 特例,當有效位為-1,結果是40

select mod(16,5) FROM dual; mod()取模,相當於C語言中的%運算子,如16%5=1

*******3、日期函式********