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 ;
本文地址:https://blog.csdn.net/Demis_demis/article/details/107655342
上一篇: [转]Composite Keys With WebApi OData
下一篇: 就不要跑太远了