第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > sql语句中的 inner join left join right join full join 的区别

sql语句中的 inner join left join right join full join 的区别

时间:2022-01-16 16:46:07

相关推荐

sql语句中的 inner join   left join   right join  full join  的区别

简单明了地说,连接分内连接和外链接

假设有A和B两张表

内连接:inner join 表示把AB表的记录相符都显示出来,把AB表不符合条件的都排除

外连接分三种,即左连接(LEFT OUTER JOIN)、右连接(RIGHT OUTER JOIN)、全连接(FULL OUTER JOIN),下面就简单解析一下,。1.A LEFT OUTER JOIN B表示把A表的记录都显示出来,把B表符合条件的结果集显示出来,不符合条件的用NULL表示。2.A RIGHT OUTER JOIN B表示把B表的记录都显示出来,把A表符合条件的结果集显示出来,不符合条件的用NULL表示。3.A FULL OUTER JOIN B 表示把A表和B表的记录都显示出来,不符合条件的用NULL表示。

实例:

[TEST@ORA1] SQL>select * from a;

编号 姓名

---- ----------

1000 张三

2000 李四

3000 王五

[TEST@ORA1] SQL>select * from b;

编号 商品

---- ----------

1000 电视机

2000 录像机

4000 自行车

[TEST@ORA1] SQL>set null 空值--这里为了显示方面我把NULL定义成了[空值]

[TEST@ORA1] SQL>select a.*,b.* from a inner join b on a.编号=b.编号;

编号 姓名 编号 商品

---- ---------- ---- ----------

1000 张三 1000 电视机

2000 李四 2000 录像机

[TEST@ORA1] SQL>select a.*,b.* from a left join b on a.编号=b.编号;

编号 姓名 编号 商品

---- ---------- ---- ----------

1000 张三 1000 电视机

2000 李四 2000 录像机

3000 王五 空值 空值

[TEST@ORA1] SQL>select a.*,b.* from a right join b on a.编号=b.编号;

编号 姓名 编号 商品

---- ---------- ---- ----------

1000 张三 1000 电视机

2000 李四 2000 录像机

空值 空值 4000 自行车

[TEST@ORA1] SQL>select a.*,b.* from a full join b on a.编号=b.编号;

编号 姓名 编号 商品

---- ---------- ---- ----------

1000 张三 1000 电视机

2000 李四 2000 录像机

3000 王五 空值 空值

空值 空值 4000 自行车

---

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。