oracle的自连接、内连接、外连接、交叉连接、自然连接、等值连接、不等值连接

等值连接  :关联条件要写表名.字段名=表名.字段名   等值连接中可能有笛卡尔积运算
自然连接 natural join:语句中没有on 并且自然连接的表里要有相同字段名  例: from M natural join N M表和N表要有相同的字段才可以(自然连接一定是等值连接,但是等值连接不一定是自然连接)
自连接:同一张表的连接查询
内连接:where 或者inner join
外连接:left/right/full outer join
交叉连接 cross join:语句中不能有on,不需要连接的表中有同名的字段,也不需要字段值有相同值,返回到结果集合中的数据行数等于两个表行数相乘

 

例:

create table A(
 name varchar(10),
 age number
);

create table B(
 name varchar(10),
 money number
);

--内连接
select * from A inner join B on a.name=b.name;   --等值连接
select * from A,B where  a.name=b.name;    --等值连接
select * from A inner join B on a.name<>b.name;   --不等值连接
select * from A,B where  a.name<>b.name;   --不等值连接

--外连接
select * from A left join B on a.name=b.name;   --等值连接
select * from A left outer join B on a.name=b.name;   --等值连接
select * from A left join B on a.name<>b.name;   --不等值连接
select * from A left outer join B on a.name<>b.name;   --不等值连接

--自连接

select * from A m , A n  WHERE m.name=n.name;  --等值连接
select * from A m , A n  WHERE m.name<>n.name;  --不等值连接
select * from A m inner join A n  on m.name=n.name;  --  等值连接
select * from A m inner join A n  on m.name<>n.name;  -- 不等值连接

--自然连接
select * from A natural join B;  -- 等值连接
--交叉连接
select * from A cross join B ;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值