oracle中inner left right full 的使用
–SQL99 多表查询
–笛卡尔积:使用cross join
select * from emp cross join dept;
–自然连接
–使用select 内容 from 表名 natural join 表名
–特点:1底层先笛卡尔积,然后按照所有的同名同值字段进行等值筛选。
–问题1:如果想按照部分字段结果筛选怎么办?
–问题2:如果字段名不同,但是值相同如何筛选?
select * from emp natural join dept;
–解决1:使用using关键字
–作用1:使用指定的字段对联合查询的结果进行等值筛选
–注意:指明的字段内容必须是两表同名同值字段
–使用:select 内容 from 表名 inner join 表名 using(字段)
select * from emp inner join dept using(deptno);
–解决2:使用on关键字进行自定义连接条件筛选(等值筛选,不等值筛选)
–注意:普通筛选条件使用where进行,不要使用on进行。
–使用:select 内容 from 表名 inner join 表名 on 连接条件 where 普通筛选条件
select * from emp e inner join dept d on e.deptno=d.deptno where sal>2000;
–外连接–左外连接
select * from emp e left join dept d on e.deptno= d.deptno;
–右外连接
select * from emp e right join dept d on e.deptno=d.deptno;
–全外连接
select * from emp e full join dept d on e.deptno=d.deptno;
–自连接
–查询员工的领导
select e1.ename ||’ 领导是 ’ || e2.ename from emp e1 inner join emp e2 on e1.mgr=e2.empno;
select * from emp where mgr is null;
上图中有5个人没有上级领导。所以查询结果为
oracle中inner left right full 的使用相关推荐
- oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园
1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...
- oracle自增列问题i,关于oracle中自增列问题
昨天去面试,面试官文oracle中有没有自增列,平时没留意,今天查了一下资料,做了个例子. oracle中没有自增列,可以设定, 但手写方法.序列或触发器都可以实现,下面是我实现的一种方法 ----- ...
- C# 实现Oracle中的数据与Excel之间的转换
最近项目要求实现数据库之间数据在各个数据库之间导入导出,在此做个笔记 1. 将Oracle中的表导入到Excel中,反之亦然 private static readonly string connec ...
- Oracle中Hint深入理解(原创)
http://czmmiao.iteye.com/blog/1478465 Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明 ...
- mysql nextval同步锁_mysql中实现类似oracle中的nextval函数
我们知道mysql中是不支持sequence的,一般是建表的时间使这个字段自增. 如 create table table_name(id int auto_increment prima ...
- 从oracle中读取图片,Pb从oracle中读取和保存图片
Pb从oracle中读取和保存图片 (2008-12-12 12:23:20) 转载 分类:编程 标签: it //保存图片 //选择文件 string pname, fname integer va ...
- Oracle中merge into的使用
http://blog.csdn.net/yuzhic/article/details/1896878 http://blog.csdn.net/macle2010/article/details/5 ...
- oracle中创建触发器
从csdn上面看到一个如何创建触发器的问题,感觉自己很有必要保存学习,特写下来: 条件: 现有A.B两张表 A: 工号 姓名 密码 性别 年龄 ... B: 工号 姓名 密码 当对A表中的" ...
- oracle中的exists 和 not exists 用法详解
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...
- 理解oracle中连接和会话
理解oracle中连接和会话 1. 概念不同:概念不同: 连接是指物理的网络连接. 在已建立的连接上,建立客户端与oracle的会话,以后客户端与oracle的交互都在一个会话环境中进行. 2. ...
最新文章
- 一次mysql瘫痪解救
- php-Facade(外观模式)
- Quartz-SimpleTrigger解读
- 数据挖掘 pandas基础入门之查看数据
- mysql mybatis模糊查询语句_详解MyBatis模糊查询LIKE的三种方式
- [转] 以 async/await 为例,说明 babel 插件怎么搭
- A+B Problem III -- ACM解决方法
- 安徽大学计算机考研学硕2019初试单科线,安徽大学2019年考研复试分数线已公布...
- HIve之DML 聚合分组应用函数 静动态分区表
- linux虚拟机调整分辨率
- 像写C#一样编写java代码
- 黑客都怎么制作外挂?C++黑客编程收集的源码集合
- Android平台i2c-tools及16位地址读写,以及not executable: 64-bit ELF file解决办法
- pdf转word完全免费软件
- 不要重新发明轮子_请重新发明轮子
- 多节点什么网络取得技术性突破_中国学者研究“多节点量子网络”取得基础性突破...
- DNT tools 工具简介
- jqGrid双击事件,并获取双击行的各个属性值
- 从Antd 源码到自我实现之 Form表单
- 超实用!7 个优秀的 UI 交互动画技巧
热门文章
- $.ajaxSetup({}) --- js ajax统一配置
- access中本年度的四月一日_计算机二级ACCESS上机题
- 什么是路由器的带内、带外管理
- 如何回答「未来5年如何规划?」【面试核心问题8】
- opendaylight配置java环境_OpenDaylight开发环境搭建
- uboot-2010-03移植到tiny6410(1)
- 硬件工程师成长之路(7)——算法学习
- 【大咖有约】新媒传信黄湘龙:飞信数据库访问组件的演进历程
- thymeleaf 美国时间转换成中国时间
- Web3.0到底是什么?它关我们普通人什么事?