1. 程式人生 > >Oracle課程檔案,第三天

Oracle課程檔案,第三天

多表 full join 否則 tinc oracl 基礎 相互 統計 多表連接

count(*):有多少行,對行做統計

count(x):列....

sum:和

avg:平均值

min:求最小值

max:求最大值

distinct:取出重復的值

count:計數

group by:分組

department_id:部門編號

having:對分組進行篩選

table:表

null:空表


組函數

①:avg: 平均值

②:count: 計數

③:max: 最大值

④:min: 最小值

⑤:sum: 和


分組數據

例:select deparment_id,job_id,avg(salary) from employees

from employees

group by department_id,job_id;

總結:分組數據中,select的字段只要不是組函數的,則必須出現在

group by中,否則會出錯..... select 有的 group by 一定

要有,group by 有的select 不一定有....


使用組函數註意:

①:不能在where 子句中使用組函數

②:可以在 having 子句中使用組函數

當使用組函數作為條件的時候,只需要將where換成having即可

註意:having即可放在from後面,也可放到group by 的後面

例:select deparment_id,avg(salary)

from employees

having avg(salary) >6000

group by department_id

order by department_id asc;


③:組函數可以相互嵌套

例:select max(avg(salary))

from employees

group by department_id;

多表連接:


empno:工號

ename:姓名

deptno:部門編號

dept:部門

emp:表的名字


在where子句中指定連接條件

當被連接的多個表中存在同名字段時,必須在該字段前加上"表名"作為前綴

內連接:等值連接


左外連接:左外連接就是在內連接(等值連接)的基礎上加上主表中的未匹配數據。

left outer join:左外連接 left join:左連接


右外連接:右外連接就是在內連接(等值連接)的基礎上加上被連接表的不匹配數據。

right outer join:右外連接 right join:右連接


全外連接是在等值連接的基礎上將左表和右表的未匹配數據都加上


全外連接:全外連接的等價寫法,對同一表先做左連接,然後在做右連接。

full outer join:全外連接 full join:完全加入


on:為它們的連接條件。

Oracle課程檔案,第三天