Oracle資料庫初級常用操作總結華為內部學習

2021-03-04 09:49:23 字數 4734 閱讀 1688

查詢語句

基本資料查詢

select 內容 from 表名;

select distinct job from emp;去除重複行

限定查詢(查詢滿足條件的行)

select * | 列名from 表名where 條件;

select empno,ename,***mfrom empwhere ***m is not null;

限定查詢----is null和is not null的使用

select empno,ename,***mfrom empwhere ***m is null查詢誰沒有獎金

限定查詢----and 的使用

查詢工資大於1500,並且可以領取獎金的雇員

select empno,ename,sal,***mfrom empwhere sal > 1500 and ***m is not null;

限定查詢----or 的使用

查詢工資大於1500和可以領取獎金的雇員

select empno,ename,sal,***mfrom empwhere sal > 1500 or ***m is not null;

限定查詢----使用not對條件整體取反

查詢工資不大於1500並且不能領取資金的雇員

select empno,ename,sal,***mfrom empwhere not (sal>1500 and ***m is not null);

限定查詢----between ... and...的使用

查詢基本工資大於等於1500並且小於等於3000的雇員

select empno,ename,sal,***mfrom empwhere sal between 1500 and 3000

限定查詢----in 的使用

查詢出雇員編號是7369,7499,7521的雇員的具體資訊

select *from empwhere empno in(7369,7499,7521);

限定查詢----not in 的使用

查詢出雇員編號不是7369,7499,7521的雇員的具體資訊

select *from empwhere empno not in(7369,7499,7521);

限定查詢----like 的使用

查詢中雇員的名字第二個字元是m的雇員資訊

select empno,ename,***m,salfrom empwhere ename like '_m%';

說明: _ 匹配乙個字元,% 匹配0個或多個字元

限定查詢----like 匹配日期

查詢2023年入職的所有雇員的資訊

select *from empwhere hiredatelike '%82%'

限定查詢----like 匹配數字

查詢工資中包含 5 的雇員資訊

select *from empwhere sallike '%5%'

對結果排序----order by

帶有order by 子句的sql語句基本格式

select 列... from 表 where 條件 order by 列

查詢員工資大於1500的資訊,按工資排序

select * from emp where sal>1500 order by sal

查詢工資大於1500員工的資訊,按工資降序,按僱傭日期公升序排序

select * from emp where sal>1500order by saldesc,hiredate asc

說明: asc 排序,desc降序,預設asc

左、右外連線

查詢員工編號,姓名,所在部門號,部門名稱,將沒有員工的部門也顯示出來

select e.ename, emp e,dept dwhere

注:(+)在左邊,表示右連線,會列出右表中出現但是沒有在左表中出現的行

交叉連線(cross join):用來產生笛卡爾積的

select * from emp cross join dept;

自然連線(natural join):自動進行關聯欄位的匹配

select * from emp natural join dept;

using子句:直接指定操作關聯列

select * from emp join dept using(deptno);

on 子句:使用者自己編寫連線條件

select * from emp join dept on

right join:右外連線

select e.empno,e.ename, from emp e right join dept d on

子查詢---in 的使用

查詢和**ith或jones在同一部門,同一職位工作的員工

select * from emp where (deptno,job) in(select deptno,job from emp where enamein('**ith','jones'));

子查詢---any 的使用

=any : 與 in操作符的效果一致

查詢和**ith或jones在同一部門,同一職位工作的員工

select * from emp where (deptno,job) =any (select deptno,jopfrom emp where ename in('**ith','jones'));

select * from

>any : 只要大於子查詢中的任何乙個值即可

select * from emp where sal > any(select min(sal) from emp group by deptno);

>all:比最大的值大

select * from emp where sal>all(select min(sal) from emp group by deptno);

select * from emp where sal< any(select min(sal) from emp group by deptno);

select * from emp where sal插入語句

intsert into 表名 values(值1 值2 值3…..) 插入的數值的字段型別要與定義的時候一樣

intsert into 表名 values(值1,值2,null,值3………) 有不想寫的可以用null 來標示

intsert into 表名(欄位1.欄位2,欄位3………) values(值1 值2 值3……) 型別對應

insert into test (**allclass,bigclass) values ('asp教程','好好學習吧')

insert into

insert into salfldg

(ac**t_code,period)

values

(select ac**t_code,period from salfldg group by ac**t_code,period)

注意:數值的型別個數順序不能超過最大值

插入記錄到表中insert 的語法

insert into 表名(欄位名1,欄位名2,......)values(值1,值2......);

為myemp中增加一條記錄

insert into myemp(empno,ename,job)values(7899,'張三','清潔工)

注:給定的值要和指定的字段數一致

insert into myemp(empno,ename,job) values (7899,'張三','清潔工')

當為表中的所有列都插入資料數,可以採用如下簡單寫法a

insert into 表名values(值1,值2......);

insert into myemp values(7991,'李四','清潔工','7369','14-2月 -

1995',9000,300,40)

注:要求給定值的數目和表中列的數目一致,並且值的順序和表中列的順序一致。

新增加一條記錄到myemp中,但是該員工沒有獎金也沒有上級領導

第一種寫法:

insert into myemp (empno,ename,job,hiredate,sal,deptno)

values(7899,'張三','清潔工','14-2月 -1995',9000,40)

第二種寫法:(用null來指定沒有值的列)

insert into myemp values(7898,'王五','清潔工',null,'14-2月 -

1995',9000,null,40)

新增加一條記錄到myemp中,但日期格式按'1988-09-09'的方式指定

to_date函式的使用

insert into myemp(empno,ename,job,hiredate,sal,deptno)

values(7896,'趙六','清潔工',to_date('1984-09-09','yyyy-mm-dd'),9000,40);

修改記錄

update 表名 set 字段= 值,字段 =值 ,字段= 值……. where 條件;

例子:update customers set credit=200000.00,state=021 where id in (80,90,100,120)

注意:條件必須寫

update customers set credit=2000,00 state=021 where id in (80,90,100,120)

刪除記錄

delete from 表名 where 條件;

oracle資料庫入門

很多剛剛接觸oracle資料庫的初學者總是感覺oracle很難學,無從下手,漸漸的感覺對oracle很排斥,有的朋友找了本oracle是書也是一點也看不懂,或者看了前面幾章,還是不知道怎麼用。其實,從筆者的親身經歷來說,oracle入門很簡單,使用oracle的基本功能也是一件非常簡單的事情。但是想...

Oracle資料庫常用命令詳解

spool將螢幕所有的輸出輸出到指定檔案 spool 檔案路徑名 spool g mysql.sql 業務操作 結束輸出 spool off 執行乙個sql指令碼檔案 我們可以將多條sql語句儲存在乙個文字檔案中,這樣當要執行這個檔案中的所有的sql語句時,用上面的任一命令即可,這類似於dos中的批...

Oracle資料庫知識總結

ad1.執行乙個sql指令碼檔案 sql start file name sql file name 我們可以將多條sql語句儲存在乙個文字檔案中,這樣當要執行這個檔案中的所有的sql語句時,用上面的任一命令即可,這類似於dos中的批處理。4.將顯示的內容輸出到指定檔案 sql spool file...