服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - mysql外连接与内连接查询的不同之处

mysql外连接与内连接查询的不同之处

2021-08-11 19:17代码魂 Mysql

在关系型数据库中,我们经常是把数据存储到多个相互关联的表中,这些相互关联的表通过指定的列发生联系,下面这篇文章主要给大家介绍了关于mysql外连接与内连接查询的不同之处,需要的朋友可以参考下

外连接的语法如下:

select 字段名称
from 表名1 left|right|full| [outer] join 表名2
  on 表名1.字段名1=表面2.字段名2

左外连接

左外连接的结果集包含左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合连接条件的来源于右表的列值为null。

left join

mysql外连接与内连接查询的不同之处

右外连接

右外连接是左外连接的反向连接。右外连接的结果集包括右表的所有记录和左表中满足连接条件的记录,结果集中那些不符合连接条件的来源与左表的列值为null。

mysql外连接与内连接查询的不同之处

内连接

内连接查询会将t1表的每一行和t2表的每一行进行比较,并找出满足连接谓词的组合。当连接谓词被满足,a和b中匹配的行会按列组合(并排组合)成结果集中的一行。

mysql外连接与内连接查询的不同之处

下面用几个例子来详细说明:

t1表:

id name
1 小二
2 张三
3 李四

t2表:

id occupation
学生
2 老师
4 校长

内连接结果:

?
1
2
3
select t1.*,t2.*
from ti inner join t2
  on a.id=b.id
id name id1 occupation
1 小二 1 学生
2 张三 2 老师

左连接结果:

?
1
2
3
select t1.*,t2.*
from ti left join t2
  on a.id=b.id
id name id1 occupation
1 小二 1 学生
2 张三 2 老师
3 李四 null null

右连接结果:

?
1
2
3
select t1.*,t2.*
from ti right join t2
  on a.id=b.id
id name id1 occupation
1 小二 1 学生
2 张三 2 老师
null null 4 校长

总结

到此这篇关于mysql外连接与内连接查询的文章就介绍到这了,更多相关mysql外连接内连接查询内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_57779406/article/details/117441418

延伸 · 阅读

精彩推荐