oracle相關的查詢與使用

2021-08-25 18:57:47 字數 4367 閱讀 2113

基本的sql語句

select *|

from table;

oracle基本語句的查詢與使用

sql> select * from emp;//查詢所有的字段資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;//查詢所有

sql> select empno from emp;//查詢部分字段

sql> select empno "員工編號" from emp;//採用別名查詢

sql> select empno as "員工編號" from emp;//採用別名查詢 等效於上面的效果

sql> select distinct(hiredate) from emp;//查詢所有員工的入職日期並且去掉重複的日期

sql> select sal+comm from emp;//注意:包含空值的數學表示式求出的結果為空值

sql> select empno||ename from emp;//||連線符 把empno與ename作為乙個字段顯示

sql> select empno||ename as "員工編號和員工姓名" from emp;//效果同上

sql> select '員工的編號是'||empno from emp;//字元的鏈結

sql> select distinct(deptno) from emp;//查詢去掉重複行的員工部門編號

條件查詢

select *|

from table

[where condition(s)];

condition(s)要使用到比較運算子常用的比較運算子如下:

操作符 含義

= 等於

> 大於

>= 大於等於

< 小於

<= 小於等於

<> 不等於 等效於!=

其它操作

and 邏輯運算 邏輯與

or 邏輯運算 邏輯或

not 邏輯運算 邏輯否

between 起始值 and 結束值:使用 between 運算來顯示在乙個區間內的值 包含(起始結束值)

in: 使用 in運算顯示列表中的值。 in(,,,)相當於乙個集合,只要出現集合中匹配的就顯示

like:

使用 like 運算選擇類似的值

選擇條件可以包含字元或數字:

% 代表零個或多個字元(任意個字元)。

_ 代表乙個字元。

escape:

迴避特殊符號的:使用轉義符。例如:將[%]轉為[\%]、[_]轉為[\_],然後再加上[escape 『\』] 即可

null:

使用 is (not) null 判斷空值。

//查詢部門號為10的員工資訊 部門為整數型別

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno=10;

//查詢職位號為manager的員工資訊 崗位的型別為字元型別

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='manager';

//查詢部門號為10並且員工的職位為manager的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='manager' and deptno=10;

注意:字元和日期要包含在單引號中。

字元大小寫敏感,日期格式敏感。

預設的日期格式是 dd-mon-rr。

where子句使用比較運算子:'>'(大於),'>='(大於等於),'='(等於),'<='(小於等於)'<'(小於).'<>'(不等於).'!>'(不大於).'!<'(不小於)

//查詢部門號大於10的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno>10;

//查詢薪水大於等於3000的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=3000;

//查詢薪水不等於3000的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal<>3000;

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal !=3000;

//查詢薪水大於2000並且小於3000的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>2000 and sal<3000;

//查詢薪水大於等於2000並且小於等於3000的員工資訊

邏輯運算子的使用:'and','or','not'

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal between 1600 and 3000;

//等效於

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=1600 and sal<=3000;

//查詢部門號位10,20的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno in(10,20);

//注意:相當於如下操作:

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno =10 or deptno=20; 模糊查詢:

兩種方式:'_'和'%','_'代表乙個未知數,'%'代表多個

//查詢員工名稱以s開頭的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like 's%';

//查詢員工名稱以s結尾的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%s';

//查詢員工名稱第三個字元為n的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '__n%';

//查詢員工名稱中含有n的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%n%';

轉義字元的使用:'\'

//查詢員工名稱中倒數第二個字元為%的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%_'escape'\';

//查詢員工名稱總含有%的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%%'escape'\';

查詢檢索值為空的資料:'is null'

//查詢獎金為null的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is null;

//查詢獎金非null的員工資訊

sql> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is not null;

優先順序**:

優先順序

1 算術運算

2 連線符

3 比較符

4 is not null like not in

5 not between

6 not

7 and

8 or

備註:可以採用括號改變優先順序

關聯式資料庫-層次關係---》網狀的關係-關聯式資料庫-物件關係。

Oracle 鎖表相關查詢與處理

select from v lock select from v sqlarea select from v session select from v process select from v locked object select from all objects select from v...

Oracle 相關子查詢

start 我們先來看兩個表的定義 使用者 create table employee userid number 9,0 not null,使用者id companyid number 9,0 公司id telno varchar2 12 使用者 alter table employee add ...

Oracle 相關查詢整理

1 查詢表名及對應表注釋內容 select from user tab comments c where c.comments is not null 2 查詢表及對應欄位的注釋內容 表字段注釋 select from user col comments d where d.table name o...