“,”、“natural join”、“natural left outer join”、“natural right outer join”的用法总结
“,”:代表笛卡尔积;
“natural join”:代表自然连接,即同名列等值连接;
“natural left outer join”:表示左外连接;
“natural right outer join”:表示右外连接。
注意:以下的写法在Oracle中都是不正确的。
1.r1 join r2
2.r1 inner join r2
3.r1 left outer join r2(如果要用左外连接,需要加natural关键字或者后面加on做条件筛选,否则,语法错误)
4.r1 right outer join r2(道理同上)
同时,需要注意:natural join 和 natural inner join是一样的。因为自然连接默认就是内连。
接下来,看代码示例:
1.建表,插入数据:
drop table relation2;
drop table relation1; create table relation1(
id number(10) not null,
r1_col1 varchar2(50),
r1_col2 varchar2(50),
primary key (id)
); create table relation2(
id number(10) not null,
r2_col1 varchar2(50),
r2_col2 varchar2(50),
primary key (id)
); insert into relation1 values(1,'A1','A2');
insert into relation1 values(2,'B1','B2');
insert into relation1 values(3,'C1','C2');
insert into relation1 values(4,'D1','D2');
insert into relation1 values(5,'N1','N2');
insert into relation1 values(6,'M1','M2');
-----------------------------------------------
insert into relation2 values(1,'E1','E2');
insert into relation2 values(2,'F1','F2');
insert into relation2 values(3,'G1','G2');
insert into relation2 values(4,'H1','H2');
insert into relation2 values(7,'X1','X2');
insert into relation2 values(8,'Y1','Y2');
插入的结果:
relation1:
relation2:
2.查询
select * from relation1,relation2;--笛卡尔积
总共36条记录。行号为37是因为第一条记录从第二行开始。
select * from relation1 natural join relation2;--自然连接(默认内连)
select * from relation1 natural inner join relation2;--自然连接(显式内连)
select * from relation1 natural left outer join relation2;--自然左外连接
select * from relation1 natural right outer join relation2;--自然右外连接
“,”、“natural join”、“natural left outer join”、“natural right outer join”的用法总结的更多相关文章
- MySql的join(连接)查询 (三表 left join 写法)
1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...
- [BTS]The join order has been enforced because a local join hint is used.;Duplicate key was ignored.".
在一个客户的BizTalk Server 2013 R2环境中会报如下的ERROR,查找相关资料后,先试试停掉所有Trace. Log Name: ApplicationSource: ...
- inner join(inner可省) 与 left join 之间的区别
关于inner join 与 left join 之间的区别,以前以为自己搞懂了,今天从前端取参数的时候发现不是预想中的结果,才知道问题出在inner join 上了. 需求是从数据库查数据,在前端以 ...
- flink-----实时项目---day06-------1. 获取窗口迟到的数据 2.双流join(inner join和left join(有点小问题)) 3 订单Join案例(订单数据接入到kafka,订单数据的join实现,订单数据和迟到数据join的实现)
1. 获取窗口迟到的数据 主要流程就是给迟到的数据打上标签,然后使用相应窗口流的实例调用sideOutputLateData(lateDataTag),从而获得窗口迟到的数据,进而进行相关的计算,具体 ...
- spark join 广告用户特征 与广告特征的 join 拿到训练集
spark join 广告特征做广播
- SQL Left Join, Right Join, Inner Join, and Natural Join 各种Join小结
在SQL语言中,存在着各种Join,有Left Join, Right Join, Inner Join, and Natural Join等,对于初学者来说肯定一头雾水,都是神马跟神马啊,它们之间到 ...
- Mysql中natural join和inner join的区别
假设有如下两个表TableA,TableB TableA TableB Column1 Column2 Column1 Column3 1 2 1 3 TableA的Column1列名和TableB的 ...
- MySQL基础之Natural Join用法
Natural join即自然连接,natural join等同于inner join或inner using,其作用是将两个表中具有相同名称的列进行匹配 用https://www.w3resourc ...
- SQL Fundamentals || 多表查询(内连接,外连接(LEFT|RIGHT|FULL OUTER JOIN),自身关联,ON,USING,集合运算UNION)
SQL Fundamentals || Oracle SQL语言 一.多表查询基本语法 在进行多表连接查询的时候,由于数据库内部的处理机制,会产生一些“无用”的数据,而这些数据就称为笛卡尔积. 多表查 ...
- left outer join preserving unmatched rows from the first table
https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj18922.html INNER JOIN operation Specifies a join ...
随机推荐
- iOS实现程序长时间未操作退出
大部分银行客户端都有这样的需求,在用户一定时间内未操作,即认定为token失效,但未操作是任何判定的呢?我的想法是用户未进行任何touch时间,原理就是监听runloop事件.我们需要进行的操作是创建 ...
- three.js入门系列之光源
首先创建场景来试验各种光源带来的不同效果: 一.锥形光源(聚光灯) SpotLight 接下来缩小范围(π/7): 二.基础光源(环境光) AmbientLight 上例中没有添加环境光,使得周围黑漆 ...
- EasyPlayerPro安卓流媒体播放器实现Android H.265硬解码流程
本文转自EasyDarwin团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/74502627 H.265编码算法作为新一代视频编码标准 ...
- matlab save 命令
有时候要运行很长才得到结果,而这部分结果在后面修改代码之后不需要改变.可以多次利用这些结果or参数,有必要将结果保存下来. 1 save example1 A ;%A为当前环境下的变量,example ...
- 06----fiter
步骤一:渲染标签 双层for循环---- 步骤二:进行数据过滤 fiter_name=java 知识点: """ 改为生成器方式: def foo(): temp=[] ...
- swift 3新特性总结
swift新特性之String 参考自[Swift 3.0 变化汇总系列总结-String] 使用方法:直接CMD+F搜索相应的函数或关键字符串,比较修改代码. 重要: /// 使用String的方法 ...
- TCP的粘包
产生原因: * tcp传输以字节流的方式发送消息,消息之间没有边界 * 发送比接受的速度快,因此不能保证每次都能及时被接收 影响 : 对每次发送的内容是一个独立的意思需要单独识别 如何处理: 1. 每 ...
- (android 地图实战开发)2 创建MapActivity,根据设备当前位置,显示地图
(android 地图实战开发)2 创建MapActivity,根据设备当前位置,显示地图 http://www.cnblogs.com/macroxu-1982/archive/2011/09/13 ...
- ss client 配置
1.1安装ss apt-get install python-pippip install shadowsocks 1.2配置ss 新建一个配置文件config.json/etc/shadowsock ...
- webdriver元素定位
#1 通过id定位 driver.find_element_by_id("pop_setting_save").click() #2 通过name定位 driver.find_el ...