mysql外连接与内连接查询的不同之处
外连接的语法如下:
SELECT 字段名称
FROM 表名1 LEFT|RIGHT|FULL| [OUTER] JOIN 表名2
ON 表名1.字段名1=表面2.字段名2
左外连接
左外连接的结果集包含左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合连接条件的来源于右表的列值为null。
LEFT JOIN

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

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

下面用几个例子来详细说明:
T1表:
| ID | name |
| 1 | 小二 |
| 2 | 张三 |
| 3 | 李四 |
T2表:
| ID | occupation |
| 1 | 学生 |
| 2 | 老师 |
| 4 | 校长 |
内连接结果:
SELECT T1.*,T2.* FROM TI INNER JOIN T2 ON A.Id=B.Id
| Id | name | Id1 | occupation |
| 1 | 小二 | 1 | 学生 |
| 2 | 张三 | 2 | 老师 |
左连接结果:
SELECT T1.*,T2.* FROM TI LEFT JOIN T2 ON A.Id=B.Id
| Id | name | Id1 | occupation |
| 1 | 小二 | 1 | 学生 |
| 2 | 张三 | 2 | 老师 |
| 3 | 李四 | NULL | NULL |
右连接结果:
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外连接内连接查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
实操MySQL+PostgreSQL批量插入更新insertOrUpdate
这篇文章主要介绍了MYsql和PostgreSQL优势对比以及如何实现MySQL + PostgreSQL批量插入更新insertOrUpdate,附含详细的InserOrupdate代码实例,需要的朋友可以参考下2021-08-08
重置MySQL数据库root密码(linux/windows)
linux与windows下重置mysql用户名与密码的方法,需要的朋友可以参考下。2010-12-12
CentOS 7 下使用yum安装MySQL5.7.20 最简单方法
这篇文章主要介绍了CentOS 7 下使用yum安装MySQL5.7.20 最简单 方法,需要的朋友可以参考下2018-11-11
Mysql导入导出工具Mysqldump和Source命令用法详解
Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysqldump和Source命令的用法2012-09-09


最新评论