Oracle基础知识

count(*):有多少行,对行做统计

count(x):列....

sum:和

avg:平均值

min:求最小值

max:求最大值

distinct:取出重复的值

count:计数

group by:分组

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:为它们的连接条件

上一篇:求平均成绩


下一篇:SQL AVG() 函数:语法及案例剖析