数据库(学习整理)----7--Oracle多表查询,三种join连接
2016-07-16 22:27
671 查看
聚合函数:(都会忽略null数据) 常用的有5种:将字段中所有的数据聚合在一条中 1、sum(字段名) :求总和 2、avg(字段名) :求平均值 3、max(字段名) :求最大值 4、min(字段名) :求最小值 5、count(字段名、*) :统计行数 ----2、按部门编号,查询平均薪水 ,并且平均薪水<1300的不显示,结果按降序排序 select empno,avg(sal) as avgsal from scott.emp group by empno having avg(sal)>=1300 order by avgsal desc; 说明: SQL语句的执行顺序:一定是从上到下的! group by 执行之后才会执行having 、select中没有使用聚合函数的字段名必须写在这里 having 后不能使用字段的别名 可以聚合函数、一般字段名 order by 后面可以有:字段名、聚合函数、字段别名 注意: Oracle 10g中才会出现的容错性: having 语句可以写在group by 之前,不会报错,但是实际上执行的顺序还是先执行group by 后执行having子句 说明: 1、当一个查询中,出现聚合函数和没有使用聚合函数的字段,则该字段必须出现在group by子句中! 2、group by 字段1,字段2; 会先按照字段1分组得到一个结果集,再按照字段2进行分组! 3、where 发生在group by 前! 4、where 后面不能有聚合函数! 多表查询: 表连接分类: 内连接、外连接、交叉连接 1、内连接: [inner] join on SQL语法格式: 语法1: select * from 表1 [inner] join 表2 on 表1.字段1=表2.字段1; 语法2: select * from 表1,表2 where 表1.字段1=表2.字段1; 说明: 内连接中的inner join 和 join 是等价的!但是建议为了程序的可读性 尽量不要省略inner! 2、外连接: 分类:左外连接、右外连接、全连接! 1、左外连接:left outer join 连接效果: 左侧的表中的全部数据都会被显示出来,但是右侧表的数据, 只有和左侧匹配上的字段才会被查询出来!否则都会显示null! SQL语法格式: 语法1: select * from 表1 left outer join 表2 on 表1.字段1=表2.字段1; 语法2: select * from 表1 left outer join 表2 where 表1.字段1=表2.字段1(+); 2、右外连接:right outer join 连接效果: 右侧的表中的全部数据都会被显示出来,但是左侧表的数据, 只有和右侧匹配上的字段才会被查询出来!否则都会显示null! SQL语法格式: 语法1: select * from 表1 right outer join 表2 on 表1.字段1=表2.字段1; 语法2: select * from 表1 left outer join 表2 where 表1.字段1(+)=表2.字段1; 3、全外连接:full/all outer join SQL语法格式: select * from 表1 full outer join 表2 on 表1.字段1=表2.字段1; 2、交叉连接: 表与表之间做笛卡尔积查询! SQL语法格式:(无条件查询) select * from 表1 cross join 表2; 或者 select * from 表1, 表2;
相关文章推荐
- oracle和mysql驱动连接配置
- kali(ubuntu)linux Oracle jdk 8安装
- Oracle clob无法修改为blob
- java和scala实现oracle lpad\rpad函数
- 【读书笔记】ORACLE 内存管理
- Linux 安装 Oracle 11g——手工建库(RAC)
- oracle SQL语句(转)
- oracle表分区详解
- ORACLE使用DBCA建数据库时错误ORA-01503,ORA-01158解决
- delphi导入导出excel|oracle
- 监视oracle执行的SQL语句
- pl/sql oracle
- Oracle体系结构
- Navicat for oracle 提示 cannot load OCI DLL,126 193的解决方法
- Oracle中的sid与servicename
- oracle number对应java数据类型BigDecimal
- Oracle OCP笔记(32)全球化(字符集,语言,地区等)
- Oracle OCP笔记(31)使用闪回功能
- Oracle OCP笔记(30)数据库恢复
- Oracle OCP笔记(29)RMAN备份 - Config