Oracle PL/SQL Summary

1. SQL語言分類:

數據查詢語言: select,功能語法最複雜、最靈活
DML數據操縱語言: insert, update, delete
DDL數據定義語言: create table, alter table, drop table,注意ddl語句會自動提交事務
TCL事務控制語言: commit, rollback, savepoint
DCL數據控制語言: grant, revoke,注意dcl語句會自動提交事務
2. SELECT子句:SELECT <*, COLUMN(alias),...> FROM TABLE
SELECT * FROM emp //檢索所有列
SELECT ename FROM emp //檢索特定列
SELECT ename,hiredate FROM emp //檢索日期列
SELECT ename,To_Char(hiredate, 'YYYY-MM-DD') FROM emp //以特定格式檢索日期列
SELECT DISTINCT deptno,job FROM emp //取消重複行
SELECT ename, sal*12 FROM emp //使用算術表達式
SELECT ename AS "NAME", sal*12 AS "SAL" FROM emp //使用列別名
SELECT ename,sal,sal+Nvl(comm,0) FROM emp //使用nvl處理NULL值
SELECT ename,sal,sal+Nvl2(comm,sal+comm,sal) FROM emp //使用nvl2處理NULL值
SELECT ename||' is a '||job AS "Emp Detail" FROM emp //連接字符串    
3. WHERE子句:SELECT <*, COLUMN(alias),...> FROM TABLE [WHERE condition(s)]
SELECT ename,sal FROM emp WHERE sal>2000 //在where中使用數字值
SELECT job,sal FROM emp WHERE ename='SCOTT' //在where中使用字符值
SELECT ename,hiredate FROM emp WHERE hiredate>To_Date('1982-01-01','YYYY-MM-DD') //在where中使用日期值
SELECT ename,sal FROM emp WHERE sal BETWEEN 1000 AND 2000 //在where中使用between...and...操作符
SELECT ename,sal FROM emp WHERE ename LIKE 'S%' //在where中使用like操作符,‘%’表示0個或多個字條
SELECT ename,sal FROM emp WHERE ename LIKE '__A%' //‘_’表示單個字條
SELECT ename,sal FROM emp WHERE ename LIKE '%a_%' ESCAPE 'a' //如果將通配符%或_作爲字符值使用,需要在escape之後使用轉義符
SELECT ename,sal FROM emp WHERE sal IN (800,1250) //在where中使用in操作符
SELECT ename,sal FROM emp WHERE mgr IS NULL //在where中使用is null操作符
SELECT ename,sal FROM emp WHERE comm IS NOT NULL //在where中使用邏輯操作符not
SELECT ename,sal,job,deptno FROM emp WHERE deptno=20 AND/OR job='CLERK' //在where中使用邏輯操作符and,or
4. ORDER BY 子句(必須是最後一個):SELECT <*, COLUMN(alias),...> FROM TABLE [WHERE condition(s)] [ORDER BY expr {ASC|DESC}]
SELECT ename,sal,comm FROM emp WHERE deptno=30 ORDER BY sal ASC|DESC //升序|降序排列
SELECT ename,sal,comm FROM emp WHERE deptno=30 ORDER BY sal ASC, comm DESC //使用多列排序
SELECT ename,sal*12 AS "TotalSal" FROM emp WHERE deptno=30 ORDER BY "TotalSal" DESC //使用列別名排序
SELECT ename,sal*12 AS "TotalSal" FROM emp WHERE deptno=30 ORDER BY 2 DESC //使用列位置編號排序 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章