ORACLE left join,right join,inner jion讲解

2025-11-03 13:20:39

1、LEFT JOIN 左连接:返回包括左表中的所有记录和右表中联结字段相等的记录。

注:左表中的数据会展示出来,右表中只有与左表联结字段相等的数据才会被查询出来。

2、举例说明:

创建表A、表B,,并插入测试数据

create table A

(

  a_id   VARCHAR2(10),

  a_name VARCHAR2(20)

);

create table B

(

  b_id   VARCHAR2(10),

  b_name VARCHAR2(20),

  a_id   VARCHAR2(10)

);

ORACLE left join,right join,inner jion讲解

ORACLE left join,right join,inner jion讲解

3、左连接查询SQL:

SELECT A.A_ID,A.A_name,B.B_ID,B.B_NAME,B.a_Id FROM A LEFT JOIN B ON A.A_ID=B.B_ID;

注:此SQL是以表A为全表,表B中的数据只有与表A的连接字段相等时才会被连接查询出来;不相等的,用null填充。

ORACLE left join,right join,inner jion讲解

1、RIGHT JOIN 右连接:返回包括右表中的所有记录和左表中联结字段相等的记录。

注:右连接与左连接的用法很相似,只是基准表不一样。

2、表A、表B的表结构不变,插入以下测试数据。

ORACLE left join,right join,inner jion讲解

ORACLE left join,right join,inner jion讲解

3、右连接查询SQL:

SELECT A.A_ID,A.A_name,B.B_ID,B.B_NAME,B.a_Id FROM A RIGHT JOIN B ON A.A_ID=B.B_ID;

ORACLE left join,right join,inner jion讲解

1、INNER JOIN 等值连接:只返回两个表中联结字段相等的行。

注:inner join具有去重效果,重复的记录不会重复展示。

2、INNER JOIN 等值连接用法:

SELECT A.A_ID,A.A_name,B.B_ID,B.B_NAME,B.a_Id FROM A INNER JOIN B ON A.A_ID=B.a_ID;

等同于:

SELECT A.A_ID,A.A_name,B.B_ID,B.B_NAME,B.a_Id FROM A,B WHERE A.A_ID=B.a_ID;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢