mysql内连接和外连接有哪些区别
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"mysql内连接和外连接有哪些区别",在日常操作中,相信很多人在mysql内连接和外连接有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mys
千家信息网最后更新 2026年10月31日mysql内连接和外连接有哪些区别
这篇文章主要介绍"mysql内连接和外连接有哪些区别",在日常操作中,相信很多人在mysql内连接和外连接有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"mysql内连接和外连接有哪些区别"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
mysql内连接和外连接的区别:内连接会取出连接表中匹配到的数据,匹配不到的不保留;而外连接会取出连接表中匹配到的数据,匹配不到的也会保留,其值为NULL。
本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
区别
内连接(inner join):取出连接表中匹配到的数据,匹配不到的不保留
外连接(outer join):取出连接表中匹配到的数据,匹配不到的也会保留,其值为NULL
示例表
users表
mysql> select * from users;+----+-------+| id | name |+----+-------+| 1 | john || 2 | May || 3 | Lucy || 4 | Jack || 5 | James |+----+-------+5 rows in set (0.00 sec)
topics表
mysql> select * from topics;+----+---------------------------------------+---------+| id | title | user_id |+----+---------------------------------------+---------+| 1 | Hello world | 1 || 2 | PHP is the best language in the world | 2 || 3 | Laravel artist | 6 |+----+---------------------------------------+---------+3 rows in set (0.00 sec)
内连接(inner join)
示例
mysql> select * from users as u inner join topics as t on u.id=t.user_id;+----+------+----+---------------------------------------+---------+| id | name | id | title | user_id |+----+------+----+---------------------------------------+---------+| 1 | john | 1 | Hello world | 1 || 2 | May | 2 | PHP is the best language in the world | 2 |+----+------+----+---------------------------------------+---------+2 rows in set (0.00 sec)
inner可以省略,as是给表起别名,也可以省略
mysql> select * from users u join topics t on u.id=t.user_id;+----+------+----+---------------------------------------+---------+| id | name | id | title | user_id |+----+------+----+---------------------------------------+---------+| 1 | john | 1 | Hello world | 1 || 2 | May | 2 | PHP is the best language in the world | 2 |+----+------+----+---------------------------------------+---------+2 rows in set (0.00 sec)
以上两句等价于
mysql> select * from users,topics where users.id=topics.user_id;+----+------+----+---------------------------------------+---------+| id | name | id | title | user_id |+----+------+----+---------------------------------------+---------+| 1 | john | 1 | Hello world | 1 || 2 | May | 2 | PHP is the best language in the world | 2 |+----+------+----+---------------------------------------+---------+2 rows in set (0.00 sec)
外连接(outer join)
左外连接(left outer join):以左边的表为主表
右外连接(right outer join):以右边的表为主表
以某一个表为主表,进行关联查询,不管能不能关联的上,主表的数据都会保留,关联不上的以NULL显示
通俗解释就是:先拿出主表的所有数据,然后到关联的那张表去找有没有符合关联条件的数据,如果有,正常显示,如果没有,显示为NULL
示例
mysql> select * from users as u left join topics as t on u.id=t.user_id;+----+-------+------+---------------------------------------+---------+| id | name | id | title | user_id |+----+-------+------+---------------------------------------+---------+| 1 | john | 1 | Hello world | 1 || 2 | May | 2 | PHP is the best language in the world | 2 || 3 | Lucy | NULL | NULL | NULL || 4 | Jack | NULL | NULL | NULL || 5 | James | NULL | NULL | NULL |+----+-------+------+---------------------------------------+---------+5 rows in set (0.00 sec)
等价于以下,只是字段的位置不一样
mysql> select * from topics as t right join users as u on u.id=t.user_id;+------+---------------------------------------+---------+----+-------+| id | title | user_id | id | name |+------+---------------------------------------+---------+----+-------+| 1 | Hello world | 1 | 1 | john || 2 | PHP is the best language in the world | 2 | 2 | May || NULL | NULL | NULL | 3 | Lucy || NULL | NULL | NULL | 4 | Jack || NULL | NULL | NULL | 5 | James |+------+---------------------------------------+---------+----+-------+5 rows in set (0.00 sec)
左外连接和右外连接是相对的,主要就是以哪个表为主表去进行关联
到此,关于"mysql内连接和外连接有哪些区别"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数据
关联
学习
示例
更多
等价
帮助
实用
通俗
接下来
位置
别名
只是
右边
字段
就是
教程
文章
方法
条件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
互联网科技工作委员会
互联网的科技
互联网科技开发公司
互联网科技logo
互联网科技小额贷款
上游互联网科技
联恩商钥互联网科技有限公司
常德市电业局互联网科技部
全球顶尖互联网科技公司
互联网科技公司有风险吗
开一家科技互联网公司需要多少钱
互联网公司黑科技创始人
元气玛特互联网科技公司是外包吗
21世纪互联网科技成就
陕西云淼互联网科技公司
江苏互联网科技小贷
兰石爱特工业互联网科技分公司
科技和互联网行业的特点
杭州科技互联网公司有哪些
百单网互联网科技有限公司
云电互联网科技
海南科技产业互联网平台
互联网科技公司需要的职位
隆华科技工业互联网
阿里巴巴算科技企业还是互联网
互联网系的金融科技公司
链环科技传统企业怎么转型互联网
互联网第三次科技革命特征
深圳互联网科技的发展