/*
message=
*//*連線scott使用者*/
conn scott/tiger;
/*設定每行記錄顯示的長度*/
set linesize 120;
/*設定每頁顯示的記錄數*/
set pagesize 20;
/*查詢scott中的表*/
select * from tab;
/*檢視表結構*/
desc dept;
desc emp;
desc bonus;
desc salgrade;
/*查詢scott中表的全部記錄 *:意為所有 */
select * from dept;
select * from emp;
select * from bonus;
select * from salgrade;
select deptno,dname,loc from dept;
select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;
select ename,job,sal,comm from bonus;
select grade,losal,hisal from salgrade;
/*消除查詢到的資料中的重複內容*/
select job from emp;
select distinct job from emp;
/*定義別名: as 《別名》*/
select empno,ename,sal*12 as saltotal from emp;
/*關係執行符:=、>、<、>=、<=、<>(!=)
邏輯運算子:and、or、not
範圍運算子:between...and...
謂詞範圍:in、not in
空判斷:is null、is not null
模糊查詢:like
限定查詢: select [distinct] 《列名稱》[,《列名稱》]... from 《表名稱》 [[as] 《別名》] [where 《過濾條件》]
*//*查詢king雇員的資訊*/
select * from emp where ename ='king';
/*查詢基本工資大於1000的雇員資訊*/
select * from emp where sal > 1000;
/*查詢基本工資在1000~1500之間的雇員資訊*/
select * from emp where sal >= 1000 and sal <=1500;
--只判斷乙個條件,效能有一定的提公升
select * from emp where sal between 1000 and 1500;
/*查詢基本工資在小於1000或大於1500之間的雇員資訊*/
select * from emp where sal < 1000 or sal >1500;
--只判斷乙個條件,效能有一定的提公升
select * from emp where sal not between 100 and 1500;
/*查詢所有在2023年僱傭的雇員
1981-01-01 :'01-1月 -81'
1981-12-31 :'31-12月 -81'
*/select * from emp where hiredate between '01-1月 -81' and '31-12月 -81';
/*空(null)在資料庫中解釋為不確定的內容,在數字列中使用不代表0
--查詢所有領取佣金的雇員資訊
--查詢所有不領取佣金的雇員資訊
*/select * from emp where comm is not null;
select * from emp where comm is null;
/*--查詢雇員編號為7369或7566或7900的雇員資訊
--查詢雇員編號不為7369和7566和7900的雇員資訊
*/select * from emp where empno in (7369,7566,7900);
select * from emp where empno not in (7369,7566,7900);
--null對in操作沒有影響
select * from emp where empno in (7369,7566,7900,null);
--null對not in具有影響,不會查到任何記錄
select * from emp where empno not in (7369,7566,7900,null);
/*模糊查詢萬用字元
「_」:匹配任意字元
「%」:匹配任意多(0~n)個字元
*/--查詢雇員姓名第三個字是「l」的雇員資訊
select * from emp where ename like '__l%';
--查詢雇員姓名中包含是「ll」的雇員資訊
select * from emp where ename like '%l%';
/* 針對於指定的列內容實現排序:order by 《列名稱》[,《列名稱》]... [asc | desc] [<,列名稱》[,《列名稱》]... [asc | desc]]...
asc(預設):按照公升序的方式排序
優先順序:from子句 > where子句 > select子句 > order by子句
*/--查詢先按部門名稱公升序,後按基本工資降序的資料表
select * from emp order by deptno asc,sal desc;
Oracle DML對於索引維護的影響
在oltp高併發 insert環境中,遞增列 時間,使用序列的主鍵列 的索引很容易引起索引熱點塊爭用。遞增列的索引會一直不斷的往索引 最右邊 的葉子塊插入最新資料 因為索引預設公升序排序 在高併發insert的時候,一次只能由乙個session進行insert,其餘session會處於等待狀態,這樣...
oracle DML鎖之二 TM鎖
tm鎖用於確保你修改表內容的時候,表結構不會改變。比如 你更新了乙個表的某一列,會得到這個表的乙個tm鎖 也就是說乙個表可以對應多個tm鎖,其他使用者更新一行也會得到這個表的乙個tm鎖 其他使用者對此表進行drop或者alter操作就會被拒絕。這樣,就防止了其他使用者在你進行更新表內容的時候,對錶進...
oracle dml語句遇到 分號和換行一起的內容
案例 string firstexpr icc swift swift message swift addressee info sendertoreceiverinfo narrative1 chr 10 string secondexpr icc swift swift message swif...