Oracle課程檔案,第三天
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課程檔案,第三天