BOD-Oracle多表查询
来源:互联网 发布:马拉松知乎 编辑:程序博客网 时间:2024/06/04 19:01
多表查询会产生笛卡儿积,为了消除笛卡儿积必须寻找相同字段
(Oracle编辑sql文件: ed 编辑 @执行)
进行多表查询有下列几个步骤:
1.确定有几张表
2.消除笛卡儿积
3.确定有哪些字段
左连接查询,右连接查询
例:e.mgr(+)=m=m.empno(左连接以等号右边表为基准)
自然连接:natural join 自动匹配字段(在两张表只有一个字段名称一样,并且这个字段刚好是关联字段且关联字段是用=来匹配的)
交叉连接:cross join 用来产生笛卡儿积
using子句:两张表中有多个字段相同,关联字段名也相同的情况下(=)
例:select * from emp join dept using(deptno);
左右链接:
on子句:自己编写连接条件
例:select e.ename,m.ename from emp e left join emp m on(e.mgr=m.empno);
聚合函数
SUM([ALL|DISTINCT]expression_r)
AVG([ALL|DISTINCT]expression_r)
COUNT([ALL|DISTINCT]expression_r)
COUNT(*)
MAX(expression_r)
MIN(expression_r)
分组依据:只有分组的条件才能作为分组的单独查询字段
主函数作为查询函数,只能出现在having子句中,不能出现在where子句中
完整查询顺序:
select from
where
group by having
order by
注:当主函数嵌套的时候,不允许任何单独查询字段
- BOD-Oracle多表查询
- Oracle多表查询
- Oracle多表查询
- Oracle多表查询
- Oracle多表查询
- oracle多表查询
- Oracle:多表查询
- oracle多表查询
- Oracle多表查询
- Oracle多表查询
- oracle 多表查询
- oracle 多表查询
- Oracle 多表查询
- oracle多表查询
- oracle多表查询
- oracle多表查询
- oracle 多表查询
- Oracle多表查询
- typedef的四个用途和两个陷阱 (转自学海无涯 程序人生)
- Django 学习笔记(十四)
- 关于#include头文件问题
- char*和CString转换
- MultiByteToWideChar和WideCharToMultiByte用法详解 (转自 酱坛子)
- BOD-Oracle多表查询
- DLL的入门知识 (转自 酱坛子)
- c++获取WINDOWS时间的方法(转)
- 用strstr进行字符串分割
- C/C++中 const,extern,static,volatile的使用(转帖)
- 一个汇编写得GPS串口接收数据程序
- CString转换为char *
- 如何获得窗口句柄(HWND )和改变窗口属性
- MFC中自由使用自定义消息